leetcode 47. Permutations II
2017-11-01 01:27
417 查看
class Solution {
public:
vector<vector<int>> res;
void dfs(vector<int> nums,vector<bool>&used,vector<int>&
cur)
{
if(cur.size()==nums.size())
{
res.push_back(cur);
return;
}
for(int i=0;i<=nums.size()-1;i++)
{
if(used[i]==1)
continue;
cur.push_back(nums[i]);
used[i]=1;
dfs(nums,used,cur);
cur.pop_back();
used[i]=0;
while(nums[i]==nums[i+1])
i++;
}
}
vector<vector<int>> permuteUnique(vector<int>&
nums) {
int n=(int)nums.size();
sort(nums.begin(),nums.end());
vector<bool> used(n,false);
vector<int> cur;
dfs(nums,used,cur);
return
res;
}
};
public:
vector<vector<int>> res;
void dfs(vector<int> nums,vector<bool>&used,vector<int>&
cur)
{
if(cur.size()==nums.size())
{
res.push_back(cur);
return;
}
for(int i=0;i<=nums.size()-1;i++)
{
if(used[i]==1)
continue;
cur.push_back(nums[i]);
used[i]=1;
dfs(nums,used,cur);
cur.pop_back();
used[i]=0;
while(nums[i]==nums[i+1])
i++;
}
}
vector<vector<int>> permuteUnique(vector<int>&
nums) {
int n=(int)nums.size();
sort(nums.begin(),nums.end());
vector<bool> used(n,false);
vector<int> cur;
dfs(nums,used,cur);
return
res;
}
};
相关文章推荐
- LeetCode 47. Permutations II
- LeetCode 47. Permutations II
- LeetCode 47 Permutations II(全排列)
- leetcode 47. Permutations II
- 【LeetCode】47. Permutations II
- LeetCode47:Permutations II
- LeetCode 47. Permutations II
- LeetCode 43.Multiply Strings & 46.Permutations & 47.Permutations II
- Leetcode 47. Permutations II
- Leetcode 46. Permutations & 47. Permutations II
- LeetCode-----46.Permutations&&47.Permutations II (全排列----回溯法)
- Leetcode 46/47 Permutations, Permutations II
- leetcode-47. Permutations II(重复元素全排列)
- LeetCode_OJ【47】Permutations II
- LeetCode47_Permutations II
- (Java)LeetCode-47. Permutations II
- Leetcode-47. Permutations II
- LeetCode 47. Permutations II(生成不同的组合-dfs)
- leetcode 47. Permutations II 全排列问题(去掉重复元素)+递归
- leetcode-47-Permutations II 搜索-剪枝