【力扣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
相关推荐
weixin_395448911 分钟前
main.c_cursor_0130
前端·网络·算法
半壶清水38 分钟前
[软考网规考点笔记]-操作系统核心知识及历年真题解析
网络·网络协议·算法
Tansmjs1 小时前
实时数据可视化库
开发语言·c++·算法
WBluuue1 小时前
Codeforces 1075 Div2(ABC1C2D1D2)
c++·算法
圣保罗的大教堂1 小时前
leetcode 3650. 边反转的最小路径总成本 中等
leetcode
我什么都学不会1 小时前
Python练习作业3
开发语言·python
板面华仔1 小时前
机器学习入门(二)——逻辑回归 (Logistic Regression)
python·机器学习
Hgfdsaqwr1 小时前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
2401_838472511 小时前
C++模拟器开发实践
开发语言·c++·算法
GHZhao_GIS_RS1 小时前
python中的sort和sorted用法汇总
python·排序·列表