blob: 16d016265822aeadfebf6e0d7b2191f0626cec7e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include "leetcode.h"
class Solution {
public:
vector<vector<int>> permuteUnique(vector<int> &nums) {
vector<vector<int>> ans;
helper(0, nums, ans);
return ans;
}
private:
void helper(int i, vector<int> &nums, vector<vector<int>> &ans) {
if (i == nums.size()) {
ans.emplace_back(nums);
return;
}
unordered_set<int> us;
for (int j = i; j < nums.size(); j++) {
if (us.count(nums[j]) == 1)
continue;
us.insert(nums[j]);
swap(nums[i], nums[j]);
helper(i + 1, nums, ans);
swap(nums[i], nums[j]);
}
}
};
int main() {}
|