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全排列的的最前面

我们使用方法一

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

相关推荐
forest_099 小时前
多 Agent 协作第二课:交叉验证≠独立验证
人工智能·python·算法·机器学习·prompt·agi
纪念 22910 小时前
C++ 算法基础 (差分)
开发语言·c++·算法
杨逢昌工厂6S管理12 小时前
150-杨逢昌一线现场诊断笔记:越管一线越抵触背后的熵增机理与基准化治理
经验分享·笔记·职场和发展·学习方法
文丑颜不良啊13 小时前
LeetCode2761~2780题目解析
java·leetcode
jyOverQ13 小时前
从零学 JVM(六):垃圾回收算法详解——标记清除、标记复制与标记整理
jvm·算法
严肃小白兔15 小时前
第 06/24 期:神经网络的反向传播算法:从链式法则到梯度计算
人工智能·神经网络·算法
落羽的落羽16 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
文丑颜不良啊16 小时前
LeetCode2841~2860题目解析
java·leetcode
【心态好不摆烂】16 小时前
数据结构基础精讲3
数据结构·算法