47. Permutations II
来源:互联网 发布:打开文件的软件 编辑:程序博客网 时间:2024/05/29 18:46
原题
求解带有重复元素的序列的所有排序
Given a collection of numbers that might contain duplicates, return all possible unique permutations.
For example,
[1,1,2] have the following unique permutations:
[ [1,1,2], [1,2,1], [2,1,1]]
思路
在无重复那道题的基础上,添加去重操作
代码
public class Solution { private IList<IList<int>> result = new List<IList<int>>(); public IList<IList<int>> PermuteUnique(int[] nums) { Array.Sort(nums); dfs(new List<int>(), nums, new bool[nums.Length]); return result; } private void dfs(IList<int> tmp, int[] nums,bool[] used) { if (tmp.Count == nums.Length) { result.Add(new List<int>(tmp)); return; } for (int i = 0; i < nums.Length; i++) { if (used[i] == true) //深度方向递归还没完时 continue; if (i > 0 && nums[i] == nums[i - 1] && used[i - 1] == false) //与前一个元素相等,且前一个元素已经递归完毕 continue; used[i] = true; tmp.Add(nums[i]); dfs(tmp,nums,used); used[i] = false; tmp.RemoveAt(tmp.Count-1); } } }
阅读全文
2 0
- 46. Permutations && 47. Permutations II
- 46. Permutations, 47. Permutations II
- [LeetCode]47.Permutations II
- LeetCode 47.Permutations II
- LeetCode --- 47. Permutations II
- [Leetcode] 47. Permutations II
- [leetcode] 47.Permutations II
- 47.Permutations II
- 47. Permutations II
- LeetCode 47. Permutations II
- 47. Permutations II
- 47. Permutations II LeetCode
- 47. Permutations II
- 47. Permutations II
- 47. Permutations II
- 47. Permutations II
- Leetcode 47. Permutations II
- 47. Permutations II
- C#综合揭秘——细说事务
- CW3005|USB智能识别方案|赛微一级代理|中文规格书
- event loop js事件循环 microtask macrotask
- HDU 6033(Add More Zero) 简单数学题 Java
- 2017杭电多校联赛 1001 Add More Zero(取对数)HDU 6033
- 47. Permutations II
- Hadoop和Spark学习日记1
- 大型网站架构之分布式消息队列
- Linux配置好公钥后无法登陆
- make menuconfig异常
- UGUI 图集打包工具Sprite Packer
- bzoj2199 [Usaco2011 Jan]奶牛议会
- 是否是数组
- 硬盘分区与配额管理【Ubuntu-shell】