【力扣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
相关推荐
小咕聊编程35 分钟前
基于Python的豆瓣电影数据可视化系统构建分析
开发语言·python·信息可视化
WBluuue1 小时前
数据结构与算法:分块(一):块状数组、块状链表
数据结构·c++·算法·链表
圣保罗的大教堂1 小时前
leetcode 3619. 总价值可以被 K 整除的岛屿数目 中等
leetcode
小小张说故事2 小时前
Python 的 dict 为什么查询是 O(1)?拆开哈希表、扰动函数与扩容阈值
python
澳鹏Appen2 小时前
澳鹏重磅发布ExamOCRBench:面向端到端试卷判分的多任务基准
算法·benchmark·基准评测
像风一样的男人@3 小时前
python --基于scp的文件传输助手
开发语言·python
benjormin3 小时前
Java数据结构 二叉搜索树
数据结构·算法
人工智能培训3 小时前
知识图谱:结构化表达实体与关系的知识组织技术
大数据·人工智能·算法·重构·生活·知识图谱
用户0332126663673 小时前
使用 Python 在 Word 文档中添加、修改和删除变量
python
专注仿真3 小时前
动态规划算法详解
人工智能·python·大模型训练·控制算法