【LeetCode】C# 47、Permutations II
来源:互联网 发布:node v6.2.2 x64.msi 编辑:程序博客网 时间:2024/05/19 18:17
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]
]
包含重复数的排列组合问题。
思路与上一题一样,关键在于利用 if(i>0 &&nums[i-1]==nums[i] && !used[i-1]) continue;
来跳过重复数的递归。
public class Solution { public List<List<int>> PermuteUnique(int[] nums) { List<List<int>> res = new List<List<int>>(); if(nums==null || nums.Length==0) return res; bool[] used = new bool[nums.Length]; List<int> list = new List<int>(); Array.Sort(nums); dfs(nums, used, list, res); return res; } public void dfs(int[] nums, bool[] used, List<int> list, List<List<int>> res){ if(list.Count()==nums.Length){ res.Add(new List<int>(list)); return; } for(int i=0;i<nums.Length;i++){ if(used[i]) continue; if(i>0 &&nums[i-1]==nums[i] && !used[i-1]) continue; used[i]=true; list.Add(nums[i]); dfs(nums,used,list,res); used[i]=false; list.RemoveAt(list.Count()-1); } }}
阅读全文
0 0
- 【LeetCode】C# 47、Permutations II
- [leetcode 47] Permutations II
- leetcode || 47、 Permutations II
- leetcode 47 : Permutations II
- leetcode 47: Permutations II
- leetcode 47:Permutations II
- 【leetcode】【47】Permutations II
- LeetCode 47 - Permutations II
- 【LeetCode-47】Permutations II
- LeetCode 47 Permutations II
- Leetcode 47 Permutations II
- Leetcode 47 Permutations II
- LeetCode 47 Permutations II
- Leetcode 47 Permutations II
- LeetCode 46 Permutations + LeetCode 47 Permutations II
- Leetcode 46/47 Permutations, Permutations II
- leetcode 46-Permutations and 47-Permutations II
- 【LeetCode】Permutations && Permutations II
- python matplotlib.subplot绘制子图
- inline函数
- Python“Non-ASCII character 'xe5' in file”报错问题
- [easy way] remote access a ubuntu pc (or some other Linux)
- rethat6.2安装mysql5.6.30
- 【LeetCode】C# 47、Permutations II
- Spark-Sql版本升级对应的新特性汇总
- CodeIgniter 入门实践(博客站-2:多视图)
- 模糊控制数学基础(模糊推理)
- VS+OPENCV+imageWatch 强烈推荐给opencv开发的小伙伴!
- Frequent values(线段树+离散化)
- sdut 3333 数据结构实验之栈与队列六:下一较大值(二)
- Java中的ModBus CRC16校验
- C#--Winform项目核心模块--考勤模块