Try   HackMD

【LeetCode】 47. Permutations II

Description

Given a collection of numbers that might contain duplicates, return all possible unique permutations.

給予一個集合,裡面的元素是數字,可能包含重複的數字。回傳所有不重複的組合。

Example:

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

Solution

  • 和上一題一樣,直接使用STL的next_permutation,連code都不用改。

Code

class Solution { public: vector<vector<int>> permuteUnique(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++