题目出处
46-全排列-题目出处
题目描述
个人解法
思路:
java">todo
代码示例:(Java)
java">todo
复杂度分析
java">todo
官方解法
46-全排列-官方解法
方法1:回溯
思路:
代码示例:(Java)
java">public class Solution1 {public List<List<Integer>> permute(int[] nums) {List<List<Integer>> res = new ArrayList<List<Integer>>();List<Integer> output = new ArrayList<Integer>();for (int num : nums) {output.add(num);}int n = nums.length;backtrack(n, output, res, 0);return res;}public void backtrack(int n, List<Integer> output, List<List<Integer>> res, int first) {// 所有数都填完了if (first == n) {res.add(new ArrayList<Integer>(output));}for (int i = first; i < n; i++) {// 动态维护数组Collections.swap(output, first, i);// 继续递归填下一个数backtrack(n, output, res, first + 1);// 撤销操作Collections.swap(output, first, i);}}}
复杂度分析
考察知识点
1.排列
收获
Gitee源码位置
46-全排列-源码