【力扣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
相关推荐
无敌最俊朗@8 分钟前
力扣hot100 - 合并两个有序链表21
算法·leetcode·链表
墨染点香16 分钟前
LeetCode 刷题【168. Excel 表列名称】
算法·leetcode·职场和发展
hans汉斯22 分钟前
基于改进YOLOv11n的无人机红外目标检测算法
大数据·数据库·人工智能·算法·yolo·目标检测·无人机
郝学胜-神的一滴35 分钟前
Effective Python 第52条:用subprocess模块优雅管理子进程
linux·服务器·开发语言·python
Swift社区1 小时前
LeetCode 431 - 将 N 叉树编码成二叉树
算法·leetcode·职场和发展
万粉变现经纪人1 小时前
如何解决 pip install 编译报错 ‘cl.exe’ not found(缺少 VS C++ 工具集)问题
开发语言·c++·人工智能·python·pycharm·bug·pip
r***11331 小时前
【玩转全栈】----Django模板语法、请求与响应
数据库·python·django
子豪-中国机器人1 小时前
1030-csp 2019 入门级第一轮
算法
___波子 Pro Max.2 小时前
Python类型注解详解与应用
python
关注我立刻回关2 小时前
洛谷平台
算法