【力扣TOP100】全排列

题目要求:

思路:

可使用递归的方式。permute(nums)=对permute(nums[0:len(nums)-1])的每一个元素,尝试添加元素nums[len(nums)-1]

代码:

python 复制代码
class Solution:
    def permute(self, nums: List[int]) -> List[List[int]]:
        l=len(nums)
        if l==1:
            return [nums]
        t=self.permute(nums[0:l-1])
        ans=[]
        for v in t:
            for j in range(l-1):
                tt=v[0:j]+[nums[l-1]]+v[j:l-1]
                ans.append(tt)
            ans.append(v+[nums[l-1]])
        return ans
相关推荐
灵感__idea1 天前
Hello 算法:贪心的世界
前端·javascript·算法
知行合一。。。1 天前
Python--04--数据容器(总结)
开发语言·python
架构师老Y1 天前
008、容器化部署:Docker与Python应用打包
python·容器·架构
澈2071 天前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
lifewange1 天前
pytest-类中测试方法、多文件批量执行
开发语言·python·pytest
ambition202421 天前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
pluvium271 天前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
cmpxr_1 天前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi1 天前
前缀和差分
算法·图论
代码旅人ing1 天前
链表算法刷题指南
数据结构·算法·链表