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

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.lryc.cn/news/511040.html

相关文章:

  • 使用qrcode.vue生成当前网页的二维码(H5)
  • 0055. shell命令--useradd
  • blender中合并的模型,在threejs中显示多个mesh;blender多材质烘培成一个材质
  • vue 本地自测iframe通讯
  • C++:单例模式
  • SOME/IP 协议详解——信息格式
  • C# GDI+数码管数字控件
  • 在交叉编译中,常见的ELF(elf)到底是什么意思?
  • Unity开发AR之Vuforia-MultiTarget笔记
  • 深入解析 Oracle 的聚合函数 ROLLUP
  • Wend看源码-Java-集合学习(List)
  • 【软件】教务系统成绩提交工具使用步骤
  • IPsec协议,网络安全的秘密
  • 浅谈下Spring MVC的执行流程
  • khadas edge2安装ubuntu22.04与ubuntu20.04 docker镜像
  • GitLab 服务变更提醒:中国大陆、澳门和香港用户停止提供服务(GitLab 服务停止)
  • 主成分分析是线性降维方法
  • Webpack在Vue CLI中的应用
  • 继承超详细介绍
  • wordpress调用指定ID分类下浏览最多的内容
  • 18.springcloud_openfeign之扩展组件二
  • FreePBX修改IP地址和端口以及添加SSL证书开启HTTPS访问
  • 运算符 - 算术、关系、逻辑运算符
  • 大模型-ChatGLM2-6B模型部署与微调记录
  • RDFS—RDF模型属性扩展解析
  • pyqt和pycharm环境搭建
  • salesforce 控制 Experience Cloud 站点用户可以看到哪些用户
  • 【玩转OCR】 | 腾讯云智能结构化OCR在多场景的实际应用与体验
  • 面试题整理20----什么是蓝绿部署、灰度发布、金丝雀发布他们有什么区别?
  • c语言传参数路径太长,导致无法获取参数