【力扣TOP100】全排列

题目要求:

思路:

可使用递归的方式。permute(nums)=对permute(nums0:len(nums)-1)的每一个元素,尝试添加元素numslen(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
相关推荐
ShyanZh1 分钟前
【Python3基础】01-Python 环境与开发工具
python
醇氧5 分钟前
Git 合并冲突与`__pycache__` 的恩怨情仇
python·numpy·fastapi
开开心心就好22 分钟前
安卓手写文字生成工具,多种纸张一直免费
网络·网络协议·tcp/ip·leetcode·智能手机·电脑·模拟退火算法
All for pursuit.24 分钟前
【栈-5】84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
ShyanZh27 分钟前
【Python3基础】02-输入输出与程序运行
python
wzdark30 分钟前
数据压缩算法的时间复杂度与压缩率权衡4
算法
伞伞悦读31 分钟前
【第39期】Python 第三方包安装详解:pip、conda、requirements、版本锁定和镜像源
python·conda·pip
Jialu.1 小时前
第7篇:舆情预警系统:三类规则引擎 + 飞书/钉钉 Webhook 通知
python·安全
小陈phd1 小时前
深入理解agent学习笔记(一)——现代agent介绍
人工智能·算法
甜到心里的蛋糕1 小时前
如何用企业微信实现让微信收到通知实时通知
服务器·python·微信小程序·fastapi