题解 | #没有重复项数字的全排列#

没有重复项数字的全排列

https://www.nowcoder.com/practice/4bcf3081067a4d028f95acee3ddcd2b1

经典的递归法

#include <vector>
class Solution {
  public:
    vector<vector<int> > permute(vector<int>& num) {
        vector<vector<int>> res, vvnum;
        vector<int> tmp;
        if (num.empty()) {
            return res;
        }
        if (num.size() == 1) {
            res.push_back(num);
        } else {
            for (int i = 0; i < num.size(); i++) {
                tmp = num;
                tmp.erase(tmp.begin() + i);
                vvnum = permute(tmp);
                for (int j = 0; j < vvnum.size(); j++) {
                    vvnum[j].insert(vvnum[j].begin(), num[i]);
                    res.push_back(vvnum[j]);
                }
            }
        }

        return res;
    }
};

全部评论

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-15 17:46
暑期就挂了,秋招还有机会吗
大聪明777:研发提前批,14号刚开的,官网上面的配图上有写。提前批没过的话,秋招还可以投,不过前面的笔试/面试记录会被保留,供秋招参考
26届校招投递进展
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务