[0047] 全排列 II
- GitHub
- http://leetcode.xuezhisd.top/post/df19d129.html
- https://leetcode.com/problems/permutations-ii
- https://leetcode-cn.com/problems/permutations-ii
题目描述
给定一个可包含重复数字的序列,返回所有不重复的全排列。
示例:
输入: [1,1,2] 输出: [ [1,1,2], [1,2,1], [2,1,1] ]
Related Topics
题目解析
- 回溯法解决此题
- 注意去重优化
不确定性
- 初始数组大小
方法一:模拟选择法
分析
- 此题与全排列1很像,原来的数字是不重复的,现在的数字可以重复,所以要加上去重逻辑
思路
1 | permutation(set, selected) { |
注意
- 终止条件判断
- 结果去重
知识点
- dfs
- 模拟排列选择
复杂度
- 空间复杂度O(n)
- 时间复杂度O(n!)
代码
1 | class Solution { |