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

没有重复项数字的全排列

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;
    }
};

全部评论

相关推荐

09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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