【力扣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
相关推荐
何中应21 小时前
windows安装python环境
开发语言·windows·python
颜酱21 小时前
从经典问题入手,吃透动态规划核心(DP五部曲实战)
前端·javascript·算法
WBluuue21 小时前
AtCoder Beginner Contest 438(ABCDEF)
c++·算法
天才测试猿21 小时前
Selenium测试框架快速搭建详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
玄同76521 小时前
我是如何开发项目的?——从 “踩坑思维” 到 “工程化能力”:编程学习的进阶方法论(万字版)
开发语言·人工智能·经验分享·笔记·python·学习·课程设计
Murphy_3121 小时前
从根上了解一下复指数
算法
Run_Teenage21 小时前
Linux:理解IO,重定向
linux·运维·算法
深蓝海拓21 小时前
PySide6之QListWidget 学习
笔记·python·qt·学习·pyqt
你撅嘴真丑21 小时前
素数对 与 不吉利日期
算法
多米Domi01121 小时前
0x3f 第20天 三更24-32 hot100子串
java·python·算法·leetcode·动态规划