132 - 46 全排列
题目
给定一个没有重复数字的序列,返回其所有可能的全排列。
示例:
输入: [1,2,3] 输出: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]
解答
感觉可以用递归做。。
python库
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
return list(itertools.permutations(nums))Runtime: 36 ms, faster than 99.74% of Python3 online submissions for Permutations.
Memory Usage: 13.9 MB, less than 5.36% of Python3 online submissions for Permutations.
回溯算法
第一反应就是,一个个摁住数字,然后排序。回溯算法也这样

就是对这个树进行深度优先遍历。
Runtime: 44 ms, faster than 91.26% of Python3 online submissions for Permutations.
Memory Usage: 13.8 MB, less than 5.36% of Python3 online submissions for Permutations.
Runtime: 72 ms, faster than 45.94% of JavaScript online submissions for Permutations.
Memory Usage: 36.4 MB, less than 48.00% of JavaScript online submissions for Permutations.
https://leetcode.com/problems/permutations/discuss/312267/go%3A-backtrack
Runtime: 4 ms, faster than 92.03% of Go online submissions for Permutations.
Memory Usage: 7 MB, less than 100.00% of Go online submissions for Permutations.
递归
https://leetcode.com/problems/permutations/discuss/277169/my-go-solution-backtracking
Runtime: 4 ms, faster than 92.03% of Go online submissions for Permutations.
Memory Usage: 7 MB, less than 100.00% of Go online submissions for Permutations.
Runtime: 68 ms, faster than 68.65% of JavaScript online submissions for Permutations.
Memory Usage: 36.8 MB, less than 24.00% of JavaScript online submissions for Permutations.
Last updated
Was this helpful?