题解 | #没有重复项数字的全排列#
没有重复项数字的全排列
https://www.nowcoder.com/practice/4bcf3081067a4d028f95acee3ddcd2b1
class Solution:
    def permute(self , num: List[int]) -> List[List[int]]:
        if len(num) <= 1:
            return [num]
        output = []
        for i in range(len(num)):
            for j in self.permute(num[:i] + num[i+1:]):
                output.append([num[i]] + j)
        return output
写一半,想了想还是改成递归了,这个好写多了。
我们首先检查列表的长度是否小于等于1。
如果是,则返回包含该元素的列表。
否则,我们遍历列表中的每个元素,并将这个元素前置,与其余所有元素构成的所有序列可能合并。
而其余的所有序列可以递归得到。
#日常刷题# 投递华为等公司10个岗位
投递华为等公司10个岗位 查看3道真题和解析
查看3道真题和解析
