Leetcode 47 Solution
This article provides solution to leetcode question 47 (permutations-ii)
Access this page by simply typing in "lcs 47" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/permutations-ii
Solution
class Solution {
public:
void permute(vector<int>& nums, int k, vector<vector<int>>& res) {
int n = nums.size();
if (k == n)
{
res.push_back(nums);
return;
}
set<int> doneNums;
for (int i = k; i < n; i++)
{
if (doneNums.find(nums[i]) != doneNums.end())
continue;
swap(nums[i], nums[k]);
permute(nums, k + 1, res);
swap(nums[i], nums[k]);
doneNums.insert(nums[i]);
}
}
vector<vector<int>> permuteUnique(vector<int>& nums) {
vector<vector<int>> res;
permute(nums, 0, res);
return res;
}
};