【Leetcode-Medium-46】Permutations
来源:互联网 发布:鲁滨逊漂流记java 编辑:程序博客网 时间:2024/05/02 18:33
【Leetcode-Medium-46】Permutations
题目
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]
]
思路
递归:
1. 每一个元素都可能是第一个元素,首先确定第一个元素
2. 第一元素之后的进行全排列
程序
class Solution { public List<List<Integer>> permute(int[] nums) { // ArrayList<ArrayList<Integer>> lists = new ArrayList<ArrayList<Integer>>(); List<List<Integer>> lists = new ArrayList<>(); List<Integer> list = new ArrayList<Integer>(); permute(nums, 0, lists); return lists; } private void permute(int[] nums, int start, List<List<Integer>> lists){ if (start == nums.length){ List<Integer> list = new ArrayList<>(); for (int num : nums) list.add(num); lists.add(list); } for (int i = start; i < nums.length; i ++){ int temp = nums[i]; nums[i] = nums[start]; nums[start] = temp; permute(nums, start+1, lists); temp = nums[i]; nums[i] = nums[start]; nums[start] = temp; } }}
阅读全文
1 0
- LeetCode #46 - Permutations - Medium
- 【Leetcode-Medium-46】Permutations
- [Leetcode 46, Medium] Permutations I
- LeetCode-46-Permutations(DFS)-Medium
- LeetCode 46. Permutations (Medium)
- Leetcode 46. Permutations (Medium) (cpp)
- Leetcode OJ 46. Permutations [Medium]
- Medium 46题 Permutations
- LeetCode-47-Permutations II(DFS/剪枝)-Medium
- Leetcode 47. Permutations II (Medium) (cpp)
- LeetCode 46 Permutations + LeetCode 47 Permutations II
- LeetCode 46: Permutations
- leetcode 46 Permutations
- LeetCode 46 Permutations II
- LeetCode(46) Permutations
- [leetcode 46] Permutations
- Leetcode NO.46 Permutations
- leetcode || 46、Permutations
- 模仿记事本
- 一个简单的java缓存类
- 141. Linked List Cycle
- 尝试用es6封装方法
- Spring MVC——基础(简介,使用,地址映射)
- 【Leetcode-Medium-46】Permutations
- Two Sum
- The C Programming Language 练习题4-5
- 合并两个链表,两个表的元素交叉进行,合并之后合并后的链表变成空表
- Numpy混淆点理解
- PullToRefresh
- php实现redis消息队列将数据保存到mysql
- 1039. 到底买不买(20)
- 【OpenCV】error C4996: 'fopen': This function or variable may be unsafe