46. Permutations
Posted bubbleStar
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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] ]
题解
该题是求所有可能的排列组合,是一道典型的dfs类型的题
代码(python实现)
import copy class Solution(object): def permute(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ if nums is None: return results = [] if len(nums) == 0: return results self.helper(nums, results, []) return results def helper(self, nums, results, list): if len(list) == len(nums): #注意此处是深度拷贝,如果用java语言写则以list为输入new出一个新的实例 results.append(copy.deepcopy(list)) return for i in range(len(nums)): if(nums[i] in list): continue list.append(nums[i]) self.helper(nums, results, list) list.pop()
以上是关于46. Permutations的主要内容,如果未能解决你的问题,请参考以下文章
[Leetcode 46]全排列 Permutations 递归
[Lintcode]15. Permutations/[Leetcode]46. Permutations
LeetCode 46. 全排列(Permutations)