【力扣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 分钟前
C++ STL算法——修改序列算法
开发语言·c++·算法·stl
大黄说说5 分钟前
彻底删除重复节点——LeetCode 82 题「有序链表去重 II」详解
算法·leetcode·链表
如意猴13 分钟前
003【高精度算法】加法/减法/乘法/除法
算法
仰泳的熊猫15 分钟前
题目1465:蓝桥杯基础练习VIP-回形取数
数据结构·c++·算法·蓝桥杯
0思必得017 分钟前
[Web自动化] Selenium浏览器复用
前端·python·selenium·自动化
Hag_2018 分钟前
LeetCode Hot100 15.三数之和
算法·leetcode·职场和发展
俩娃妈教编程23 分钟前
洛谷选题:P1307 [NOIP 2011 普及组] 数字反转
c++·算法
-小麦子-28 分钟前
Python 变量组包、解包及星号扩展机制详解
开发语言·python
laplace012333 分钟前
浮点数精度
人工智能·算法·agent·qwen
blackicexs39 分钟前
第四周第五天
数据结构·算法