46. Permutations**
来源:互联网 发布:mac air 电池容量 编辑:程序博客网 时间:2024/05/20 19:30
Given a collection of distinct 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], [3,2,1]]
public class Solution { public List<List<Integer>> permute(int[] nums) { List<List<Integer>> list = new ArrayList<>(); backtrack(list, new ArrayList<>(), nums); return list; } private void backtrack(List<List<Integer>> list, List<Integer> tempList, int[] nums){ if(tempList.size() == nums.length){ list.add(new ArrayList<>(tempList)); } else{ for(int i=0; i<nums.length;i++){ if(tempList.contains(nums[i])) continue; tempList.add(nums[i]); backtrack(list,tempList,nums); tempList.remove(tempList.size()-1); } } } }
总结:递归
public List<List<Integer>> permute(int[] nums) { LinkedList<List<Integer>> res = new LinkedList<List<Integer>>(); res.add(new ArrayList<Integer>()); for(int n:nums){ int size = res.size(); for(;size>0;size--){ List<Integer> r = res.pollFirst(); for(int i=0;i<=r.size();i++){ List<Integer> t = new ArrayList<Integer>(r); t.add(i,n); res.add(t); } } } return res; }总结:迭代
0 0
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- 46. Permutations
- java多态之运行时多态和编译时多态
- POJ 2251 Dungeon Master(BFS三维解)
- ORB-SLAM: A Versatile and Accurate Monocular SLAM Syetem 讲解 3
- D3D11地形渲染教程八之ColorMap(颜色贴图)
- Tiny4412 ARM开发环境搭建—Minicom串口工具安装及配置
- 46. Permutations**
- class 类 init 功能(类似java类的构造函数)
- QQ6.6.8、红包玩起来
- Linux 命令
- 假期练习——两个整数的几种运算
- Gym - 101102A A. Coins 背包问题、数学
- 数组的0清空--Java基础038
- OpenCV中的Haar+Adaboost(六):minHitRate与maxFalseAlarm
- sproto parse方法解析