LeetCode 46. 全排列

LeetCode 46. 全排列

  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!

博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客


题目

难度中等
给定一个 没有重复 数字的序列,返回其所有可能的全排列。

示例:

输入: [1,2,3]
输出:
[
  [1,2,3],
  [1,3,2],
  [2,1,3],
  [2,3,1],
  [3,1,2],
  [3,2,1]
]

题解

  在STL中是有全排列函数的,所以一看到这题就想到了全排列函数next_permutation( ),它有两个参数,第一个参数为数组的起始位置,第二个参数为结束位置。这个题的题目就基本上是这个函数的一个完美的应用吧,我们直接使用他进行全排列即可。

完整的题解代码为:

class Solution {
public:
    vector<vector<int>> permute(vector<int>& nums) {
        int length = nums.size();
        vector<vector<int>> ans;
        sort(nums.begin(),nums.end());
        do{
            ans.push_back(nums);
        }while(next_permutation(nums.begin(),nums.end()));
        return ans;
    }
};

执行效率

LeetCode 46. 全排列


  大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!

博主目前仅在CSDN中写博客,唯一博客更新的地址为:亓官劼的博客

上一篇:005


下一篇:p20 数组中超过一半的数字 (leetcode 46)