[Leetcode] 47. Permutations II
2015-03-17 06:59
441 查看
Given a collection of numbers that might contain duplicates, return all possible unique permutations.
For example,
and
For example,
[1,1,2]have the following unique permutations:
[1,1,2],
[1,2,1],
and
[2,1,1].
import java.util.ArrayList; public class Solution { public List<List<Integer>> permuteUnique(int[] num) { ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>(); if(num == null || num.length == 0) return result; ArrayList<Integer> list = new ArrayList<Integer>(); boolean[] visited = new boolean[num.length]; helper(num, result, list, visited); return result; } private void helper(int[] num, ArrayList<ArrayList<Integer>> result, ArrayList<Integer> list, boolean[] visited){ if(list.size() == num.length){ result.add(new ArrayList<Integer>(list)); return; } for(int i = 0; i < num.length; i++){ if(visited[i] || (i > 0 && num[i] == num[i - 1] && !visited[i - 1])){ continue; } list.add(num[i]); visited[i] = true; helper(num, result, list); list.remove(list.size() - 1); visitied[i] = false; } } }
相关文章推荐
- leetcode 47. Permutations II
- LeetCode 47. Permutations II
- LeetCode 47. Permutations II(排列Ⅱ)
- leetcode[47]Permutations II
- LeetCode47 Permutations II
- LeetCode-47.Permutations II
- LeetCode 47. Permutations II
- leetcode47. Permutations II
- Leetcode 47 Permutations II
- 【leetcode】【47】Permutations II
- LeetCode-47-Permutations II 递归+dict
- [Leetcode 101] 47 Permutations II
- Leetcode 47. Permutations II
- [LeetCode]47 Permutations II
- LeetCode 46 Permutations + LeetCode 47 Permutations II
- LeetCode47:Permutations II
- [leetcode 47] Permutations II
- LeetCode 47. Permutations II
- LeetCode-----46.Permutations&&47.Permutations II (全排列----回溯法)
- LeetCode(47)Permutations II