当前位置: 首页 > article >正文

leetcode hot 100 全排列

46. 全排列

已解答

中等

相关标签

相关企业

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

class Solution(object):

    def permute(self, nums):

        """

        :type nums: List[int]

        :rtype: List[List[int]]

        """

       

        rtrt=[]

        if len(nums)==0:

            return []

        if len(nums)==1:

            return [nums]

        rt = self.permute(nums[1:])

        for sublist in rt:

            for index,sub in enumerate(sublist):

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

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

        return rtrt

       

两种递归关系

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

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

我们使用方法一

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


http://www.kler.cn/a/458659.html

相关文章:

  • 《HelloGitHub》第 105 期
  • Dockerfile基础指令
  • SonarQube相关的maven配置及使用
  • 【k8s】Calico网络
  • Linux中sh脚本发邮件配置
  • arcgis server ip修改后服务异常解决方案
  • 阿里云clb是什么
  • 路由器单臂路由配置
  • Java - 日志体系_Apache Commons Logging(JCL)日志接口库_适配Log4j2 及 源码分析
  • uniapp实现为微信小程序扫一扫的功能
  • python|利用ffmpeg按顺序合并指定目录内的ts文件
  • 5G CPE接口扩展之轻量型多口千兆路由器小板选型
  • 【Jetson Nano】40Pin学习 GPIO
  • 青少年编程与数学 02-005 移动Web编程基础 05课题、rem布局与媒体查询
  • akamai3.0 wizzair 网站 分析
  • IEA国际能源署数据库
  • windows C#-显式实现两个接口的成员
  • pytorch张量的fill_方法介绍
  • hhdb客户端介绍(64)
  • 【MySQL】触发器