【力扣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 分钟前
使用loadrunner调用mysql API进行性能测试
服务器·数据库·python·selenium·mysql·单元测试·自动化
Python学习导航17 分钟前
Python开源项目月排行 2025年10月
开发语言·python
祝余Eleanor18 分钟前
Day 30 函数专题2 装饰器
人工智能·python·机器学习·数据分析
feifeigo12327 分钟前
MATLAB实现两组点云ICP配准
开发语言·算法·matlab
fengfuyao98529 分钟前
粒子群算法(PSO)求解标准VRP问题的MATLAB实现
开发语言·算法·matlab
Ayanami_Reii42 分钟前
进阶数据结构应用-SPOJ 3267 D-query
数据结构·算法·线段树·主席树·持久化线段树
nwsuaf_huasir42 分钟前
深度学习1.3-软件篇-2025Pycharm添加导入anaconda中虚拟环境的python解释器以及相关Error解决方案
人工智能·python·深度学习
eybk1 小时前
局域网文件传输器安卓版本+win版本
android·python
旦莫1 小时前
Pytest教程: Pytest ini配置文件深度剖析
python·单元测试·自动化·pytest
天才测试猿1 小时前
Jmeter压测实战:Jmeter二次开发之自定义函数
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·压力测试