【力扣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
相关推荐
shy^-^cky2 小时前
Python程序设计完整复习要点(含实例)
python·期末复习
做萤石二次开发的哈哈2 小时前
萤石开放平台 萤石可编程设备 | 设备脚本自定义开发
开发语言·python·萤石云·萤石·萤石开放平台
a3158238062 小时前
大语言模型应用开发技术要求
算法·大语言模型·应用开发
倦王2 小时前
力扣日刷26112
算法·leetcode·职场和发展
liu****2 小时前
能源之星案例
人工智能·python·算法·机器学习·能源
程序员三藏2 小时前
软件测试环境搭建及测试过程
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
CCPC不拿奖不改名2 小时前
数据处理与分析:pandas基础+面试习题
开发语言·数据结构·python·面试·职场和发展·pandas
2501_901147832 小时前
环形房屋打家劫舍算法
考研·算法·leetcode·高考
kkoral3 小时前
Python 肢体动作追踪项目(基于 MediaPipe + OpenCV)
python·opencv·meidiapipe