LeetCode——Permutations
2017-06-17 17:00
387 查看
Given a collection of numbers, return all possible permutations.
For example,
[1,2,3]have the following permutations:
[1,2,3],
[1,3,2],
[2,1,3],
[2,3,1],
[3,1,2], and
[3,2,1]. 原题链接:https://oj.leetcode.com/problems/permutations/
题目:给定一组数。返回其全排列。
思路:记录每个数是否被使用过,将未使用过的数增加到current中,current长度已满。则增加到result中。
public List<List<Integer>> permute(int[] num) { if (num == null) return null; List<List<Integer>> result = new ArrayList<List<Integer>>(); if (num.length == 0) return result; permute(num, new boolean[num.length], new ArrayList<Integer>(), result); return result; } public void permute(int[] num, boolean[] isused, ArrayList<Integer> current, List<List<Integer>> result) { if (current.size() == num.length) { result.add(new ArrayList<Integer>(current)); return; } for (int i = 0; i < num.length; i++) { if (!isused[i]) { isused[i] = true; current.add(num[i]); permute(num, isused, current, result); current.remove(current.size() - 1); isused[i] = false; } } }
相关文章推荐
- leetcode: Permutations
- [LeetCode] “全排列”问题系列(一) - 用交换元素法生成全排列及其应用,例题: Permutations I 和 II, N-Queens I 和 II,数独问题
- leetcode -- Permutations II TODO
- LeetCode 46. Permutations
- **(leetcode_backtracking)Permutations
- LeetCode 46:Permutations
- leetcode 46. Permutations
- leetcode---permutations---dfs
- leetcode-Permutations
- leetcode解题方案--046--Permutations
- [Leetcode] Permutations
- LeetCode Permutations
- leetcode 45: Permutations
- 全排列,字典顺序问题 ( permutations/leetcode)
- [Leetcode] Permutations
- [leetcode]Permutations
- [Leetcode] Permutations
- [leetcode] permutations的讨论
- LeetCode:Permutations, Permutations II(求全排列)
- LeetCode: Permutations