47. Permutations II
problem desctiption
Input: [1,1,2]
Output:
[
[1,1,2],
[1,2,1],
[2,1,1]
]algorithm thought
code
class Solution {
public:
vector<vector<int>> permuteUnique(vector<int>& nums) {
sort(nums.begin(),nums.end());
vector<vector<int>> res;
recursion(nums, 0, nums.size(), res);
return res;
}
void recursion(vector<int> num, int i, int j, vector<vector<int> > &res) {
if (i == j-1) {
res.push_back(num);
return;
}
for (int k = i; k < j; k++) {
if (i != k && num[i] == num[k]) continue;
swap(num[i], num[k]);
recursion(num, i+1, j, res);
}
}
};algorithm analysis
Last updated