【力扣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
相关推荐
verbannung3 分钟前
Python进阶: 元类与属性查找理解
python
想用offer打牌21 分钟前
LLM参数: Temperature 与 Top-p解析
人工智能·python·llm
talenteddriver30 分钟前
java: Java8以后hashmap扩容后根据高位确定元素新位置
java·算法·哈希算法
小智RE0-走在路上32 分钟前
Python学习笔记(6)--列表,元组,字符串,序列切片
笔记·python·学习
feeday40 分钟前
Python 删除重复图片 优化版
开发语言·python
ss2731 小时前
Java线程池全解:工作原理、参数调优
java·linux·python
于是我说1 小时前
一份Python 面试常见问题清单 覆盖从初级到高级
开发语言·python·面试
BoBoZz191 小时前
RotationAroundLine 模型的旋转
python·vtk·图形渲染·图形处理
Kurbaneli1 小时前
Python金融数据分析革命:Mootdx让通达信数据获取变得如此简单
python
跨境猫小妹1 小时前
2025 TikTok Shop:从内容爆发到系统化深耕的商业跃迁
大数据·人工智能·算法·产品运营·亚马逊