Try   HackMD

【LeetCode】 46. Permutations

Description

Given a collection of distinct integers, return all possible permutations.

給一個集合,每個元素都是不同的整數。回傳所有可能的組合。

Example:

Input: [1,2,3]
Output:
[
  [1,2,3],
  [1,3,2],
  [2,1,3],
  [2,3,1],
  [3,1,2],
  [3,2,1]
]

Solution

  • 因為我覺得寫組合很麻煩,直接使用STL中algorithm內建的next_permutation。
  • 記得使用前要先排序。

Code

class Solution { public: vector<vector<int>> permute(vector<int>& nums) { int size = nums.size(); vector<vector<int>> ans; sort(nums.begin(),nums.end()); do { vector<int> temp; for(int i=0;i<size;i++) temp.push_back(nums[i]); ans.push_back(temp); } while(next_permutation(nums.begin(),nums.end())); return ans; } };
tags: LeetCode C++