当前位置:   article > 正文

牛客题霸 [没有重复项数字的所有排列] C++题解/答案

牛客题霸 [没有重复项数字的所有排列] C++题解/答案

牛客题霸 [没有重复项数字的所有排列] C++题解/答案

题目描述

给出一组数字,返回该组数字的所有排列
例如:
[1,2,3]的所有排列如下
[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2], [3,2,1].
(以数字在数组中的位置靠前为优先级,按字典序排列输出。)

题解:

第一反应就是stl的next_permulatation()
可以实现全排列
如果不用stl可以用dfs实现

代码:

class Solution {
public:
    vector<vector<int> > permute(vector<int> &num) {
        vector<vector<int>>res;
        sort(num.begin(),num.end());
        if(num.empty())return res;
        do
        {
            res.push_back(num);
        }while(next_permutation(num.begin(), num.end()));
        return res;
    }
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/438020
推荐阅读
相关标签
  

闽ICP备14008679号