【力扣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
相关推荐
昵称小白2 分钟前
二叉树专题(下)
算法·深度优先
故事和你914 分钟前
洛谷-数据结构2-1-二叉堆与树状数组1
开发语言·数据结构·c++·算法·动态规划·图论
运气好好的5 分钟前
golang如何理解Go 1.23迭代器协议_golang 1.23迭代器协议详解
jvm·数据库·python
2401_8246976612 分钟前
Go语言如何用systemd_Go语言systemd服务管理教程【总结】
jvm·数据库·python
2301_7756398917 分钟前
mysql修改字段长度是否影响数据_隐式转换与字符集限制分析
jvm·数据库·python
Dshuishui22 分钟前
我用 Claude Code 做了一个学术论文搜索工具
开发语言·人工智能·python·pip·uv
ㄟ留恋さ寂寞23 分钟前
怎样修改提示“表已空”的空状态界面_Empty State插画替换
jvm·数据库·python
研究点啥好呢25 分钟前
Momenta后端开发面试题精选:10道高频考题+答案解析(数据产线方向)
c++·python·面试·求职招聘
老歌老听老掉牙32 分钟前
空间点到平面的距离:几何意义与计算方法
python·平面
m0_5913647334 分钟前
SQL提升开发效率_使用CTE重构嵌套子查询逻辑
jvm·数据库·python