LeetCode47. Permutations II
来源:互联网 发布:mac分段压缩文件 编辑:程序博客网 时间:2024/06/06 02:33
题目链接:
https://leetcode.com/problems/permutations-ii/
题目描述:
全排列问题。但是数组中可能包含重复元素,所以要避免解集包含重复组合的情况。
思路:
~~(╯﹏╰)b唯一需要注意的就是如何去掉重复元素带来的影响。如果当前元素和前一个的元素相等,并且前一个元素被选过了,就continue。
代码:
class Solution {public: vector<vector<int>> res; vector<int> permutation; int len; void permuteUnique(bool* flag,vector<int>& nums,int cnt){ if(cnt>len){ return; } else if(cnt==len){ res.push_back(permutation); } else{ for(int i=0;i<len;i++){ if(flag[i]){ continue; } if(i!=0 && nums[i-1]==nums[i] && flag[i-1]){ continue; } flag[i]=true; permutation.push_back(nums[i]); permuteUnique(flag,nums,cnt+1); flag[i]=false; permutation.pop_back(); } } } vector<vector<int>> permuteUnique(vector<int>& nums) { len=nums.size(); if(len==0){ return res; } sort(nums.begin(),nums.end()); bool* flag=new bool [len]; for(int i=0;i<len;i++){ flag[i]=false; } permuteUnique(flag,nums,0); return res; }};
0 0
- [LeetCode47]Permutations II
- LeetCode47:Permutations II
- Leetcode47 Permutations II
- LeetCode47. Permutations II
- leetcode47. Permutations II
- LeetCode47 Permutations II
- leetcode47. Permutations II
- LeetCode47——Permutations II
- 递归——LeetCode47. Permutation II
- 【LeetCode】Permutations && Permutations II
- leetcode: Permutations/Permutations II
- leetcode Permutations & Permutations II
- [Leetcode]Permutations && Permutations II
- Permutations and Permutations II
- Permutations && Permutations ii
- Permutations II
- Permutations II
- Permutations II
- Mysql数据库连接脚本
- 解决Windows下python中文乱码问题
- 头文件与库文件的区别与联系
- memcached的配置和spymemcached的使用笔记
- [Algorithm]Maze Prim算法与A*寻路算法(下)
- LeetCode47. Permutations II
- Project文档编辑和权限分配
- POJ3083 DFS&BFS
- nyoj779兰州烧饼
- ADO.NET之command更新数据(视图版)
- hdu 4509
- POJ 3069
- 项目学习的方法与经验
- c#之多态的一个应用