leetcode hot 100 全排列

46. 全排列

已解答

中等

相关标签

相关企业

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。

class Solution(object):

def permute(self, nums):

"""

:type nums: Listint

:rtype: ListList\[int]

"""

rtrt=\[\]

if len(nums)==0:

return \[\]

if len(nums)==1:

return nums

rt = self.permute(nums1:)

for sublist in rt:

for index,sub in enumerate(sublist):

rtrt.append(sublist:index+ nums\[0] +sublistindex:)

rtrt.append(sublist+nums\[0])

return rtrt

两种递归关系

一种是只用n-1的全排列,n可以放到n-1全排列序列的任意一个位置

第二种是 使用n次n-1的全排列,然后遍历一遍数组,每次都把遍历的数组的数放到n-1全排列的的最前面

我们使用方法一

这个最少的世界复杂度都是阶乘,最终返回的结果的数目也是阶乘的级别的

相关推荐
离凌寒5 小时前
一、关于st上制作外部烧录算法时软件识别不到算法文件的问题总结
算法
青 春 记 忆7 小时前
LeetCode 283. 移动零|Python 解法详解
python·算法·leetcode
Hrain-AI7 小时前
企业 AI 治理运营怎么做:分级授权、Token 用量可观测与模型统一纳管
大数据·人工智能·算法
剑指offer.8 小时前
Linux多任务-线程篇
java·jvm·算法
nike0good8 小时前
CF 126B(Password-z algorithm/exkmp)
开发语言·c++·算法
无定义_8 小时前
Bellman-Ford——贝尔曼福特算法
数据库·算法
程序员-Benothing9 小时前
数据库的脏读、不可重复读和幻读:从面试标准答案到源码级原理
数据库·面试·职场和发展
程序员小远9 小时前
接口测试知识总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
HanhahnaH9 小时前
各数据结构操作的时间复杂度汇总
数据结构·算法
Yzzz-F9 小时前
CF2023D
c++·算法·dp