LeetCode 47题:全排列2

news2024/12/31 6:30:50

题目

给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。

示例 1:

输入:nums = [1,1,2]
输出:
[[1,1,2],
 [1,2,1],
 [2,1,1]]

示例 2:

输入:nums = [1,2,3]
输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

提示: 

  • 1 <= nums.length <= 8
  • -10 <= nums[i] <= 10

代码

 与全排列 一样,只不过题中会出现相同的数据

class Solution(object):
    def permute(self, nums):
        nums.sort()
        lis=nums[:]
        res=[lis]
        if len(nums)==1:
            return res
        while(1):
            for i in range(len(nums)-1,0,-1):
                if nums[i]>nums[i-1]:
                    break
            if i==1 and nums[i]<=nums[i-1]:
                return res
            max=11
            for j in range(i,len(nums)):
                if nums[j]>nums[i-1] and nums[j]<max:  
                    temp=j
            t=nums[i-1]
            nums[i-1]=nums[temp]
            nums[temp]=t
            for a in range(i,len(nums)):
                for b in range(len(nums)-1,a,-1):
                    if(nums[b]<nums[b-1]):
                        t=nums[b]
                        nums[b]=nums[b-1]
                        nums[b-1]=t
            lis=nums[:]
            res.append(lis)
nums = [1,1,2]
A=Solution()
print(A.permute(nums))

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/973204.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】C++11新特性 可变参数模板

可变参数模板 可变参数模板1、基本介绍2、递归函数方式展开参数包3、逗号表达式展开参数包 可变参数模板 1、基本介绍 C11的新特性可变参数模板能够让你创建可以接受可变参数的函数模板和类模板&#xff0c;相比C98/03&#xff0c;类模版和函数模版中只能含固定数量的模版参数…

将 ChatGPT 用于数据科学项目的指南

推荐&#xff1a;使用 NSDT场景编辑器 快速搭建3D应用场景 我们都知道 ChatGPT 的受欢迎程度以及人们如何使用它来提高生产力。但是&#xff0c;如果您是新手&#xff0c;则值得注册ChatGPT免费演示并尝试它所能做的一切。您还应该参加我们的 ChatGPT 简介课程&#xff0c;学习…

文旅品牌为何青睐于3D虚拟数字人定制?

随着web3.0技术的到来&#xff0c;数字人技术快速发展&#xff0c;推动着文旅通过3D虚拟数字人定制&#xff0c;探索数字化营销。数字人结合动捕设备&#xff0c;可以颠覆传统玩法&#xff0c;以数字人内容赋能传统宣传手段&#xff0c;通过动捕设备让数字人与用户交流互动&…

U盾难管理?用U盾专用USB集线器

公司有一堆U盾要插着用&#xff0c;但是一台电脑也才两三个接口&#xff0c;怎么办&#xff1f; 三个字&#xff0c;很简单&#xff0c; 一台U盾专用的USB集线器就能解决。 U盾专用集线器为解决网银U盾连接问题而生。 它有四大好处&#xff01; 集中管理 把所有U盾集中到一…

Java泛型(待补充)

泛型是一种“代码模板”&#xff0c;可以用一套代码套用各种类型。 一、什么是泛型&#xff1f; 泛型就是编写模板代码来适应任意类型&#xff1b;泛型的好处是使用时不必对类型进行强制转换&#xff0c;它通过编译器对类型进行检查&#xff1b;注意泛型的继承关系&#xff1a…

RHCE——十七、文本搜索工具-grep、正则表达式

RHCE 一、文本搜索工具--grep1、作用2、格式3、参数4、注意5、示例5.1 操作对象文件&#xff1a;/etc/passwd5.2 grep过滤命令示例 二、正则表达式1、概念2、基本正则表达式2.1 常见元字符2.2 POSIX字符类2.3 示例 3、扩展正则表达式3.1 概念3.2 示例 三、作业1、作业一2、作业…

【Apollo】开启Apollo之旅:让自动驾驶如此简单

前言 Apollo 是百度公司推出的自动驾驶平台。它是一个综合性的自动驾驶解决方案&#xff0c;提供了包括感知、决策、规划和控制等核心功能&#xff0c;以及地图、定位、仿真、数据管理等配套工具。 文章目录 前言Apollo 的发展历程Apollo 8.0新特性软件包管理感知框架工具链小…

软件确认测试的七大准则

确认测试 1. 确认软件设计是否依从于软件需求&#xff0c;且软件的每一项需求是否能跟踪到软件设计。 2. 确认状态顺序和状态变化( 功能模块图) 。 3. 确认数据和控制流满足安全性、功能性和性能需求。 4. 确认软件的功能性&#xff0c;硬件、软件和用户接口的一致性&#…

上海亚商投顾:沪指放量大涨超1% 北向资金净买入近70亿元

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 三大指数昨日集体反弹&#xff0c;沪指高开高走涨超1%&#xff0c;上证50盘中涨超2%&#xff0c;北证50指数涨…

涉案财物管理系统DW-S405|实现涉案财物智能化管理

涉案财物管理系统&#xff08;智财物DW-S405&#xff09;是依托互3D技术、云计算、大数据、RFID技术、数据库技术、AI、视频分析技术对RFID智能仓库进行统一管理、分析的信息化、智能化、规范化的系统。 东识涉案财物管理系统是一套基于物联网技术的管理方案&#xff0c;旨在规…

孙哥Spring源码第17集

第17集 refresh()-invokeBeanFactoryPostProcessor -一-invokeBeanFactoryPostProcessor的分析过程 【视频来源于&#xff1a;B站up主孙帅suns Spring源码视频】 1、什么是解析顶级注解&#xff1f; PropertySource CompeontScan Configuration Component ImportResour…

第14章 热门数据实时收集

mini商城第14章 热门数据实时收集 一、课题 商品秒杀-热门数据实时收集 二、回顾 1、秒杀设计 2、活动管理 3、搜索管理 4、商品详情处理 5、 数据同步 三、目标 1、掌握热门分析收集方案 2、Lua高级语法 掌握Lua高级语法指令执行顺序 掌握Lua高级语法指令编写位置 …

FPGA GTH 全网最细讲解,aurora 8b/10b编解码,HDMI视频传输,提供2套工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 GT 高速接口解决方案3、GTH 全网最细解读GTH 基本结构GTH 发送和接收处理流程GTH 的参考时钟GTH 发送接口GTH 接收接口GTH IP核调用和使用 4、设计思路框架视频源选择silicon9011解码芯片配置及采集动态彩条视频数据组包GTH aurora 8b/10…

el-select 加多选框使用

解决方法&#xff1a; el-select 添加属性 multiple&#xff0c; <el-form-item label"订单来源&#xff1a;"><el-selectv-model"tableFrom.userType"clearablemultipleplaceholder"请选择"class"selWidth"><el-opt…

Android图形-架构1

目录 引言 Android图形的关键组件&#xff1a; Android图形的pipeline数据流 BufferQueue是啥&#xff1f; 引言 Android提供用于2D和3D图形渲染的API&#xff0c;可与制造商的驱动程序实现代码交互&#xff0c;下面梳理一下Android图形的运作原理。 应用开发者通过三种方…

pm2 运行springboot项目

创建springboot项目打包 注意安装java版本必须和打包的java版本一致 java安装 安装pm2 安装nodejs 通过npm安装pm2 配置json pm2.json {"name": "test01","script": "D:\\jdk-17.0.6\\bin\\java.exe","args": ["-D…

无涯教程-JavaScript - EDATE函数

描述 EDATE函数返回表示日期的序列号,该序列号是在指定日期(start_date)之前或之后的月份数。 使用EDATE来计算到期日或到期日,该到期日或到期日与发行日期在当月的同一天。 语法 EDATE (start_date, months)争论 Argument描述Required/OptionalStart_date 代表开始日期的…

2023年特色小镇行业研究报告

第一章 行业概况 1.1 定义 特色小镇&#xff0c;是指以特定产业、文化、旅游、历史等特色为依托&#xff0c;以小镇为载体&#xff0c;通过优化提升小镇的综合功能和服务能力&#xff0c;形成独特的区域品牌和产业集群&#xff0c;进而推动区域经济社会发展的一种新型城镇化形…

【Unity编辑器扩展】| 顶部菜单栏扩展 MenuItem

前言【Unity编辑器扩展】 | 顶部菜单栏扩展 MenuItem一、创建多级菜单二、创建可使用快捷键的菜单项三、调节菜单显示顺序和可选择性四、创建可被勾选的菜单项五、右键菜单扩展5.1 Hierarchy 右键菜单5.2 Project 右键菜单5.3 Inspector 组件右键菜单六、AddComponentMenu 特性…

AUTOSAR简介及分层架构

这里写目录标题 1、AUTOSAR简介2、AUTOSAR的分层架构2.1、应用软件层(ASW)2.2、运行时环境(RTE)2.3、基础软件层(BSW)2.4、微控制器-MCAL层 1、AUTOSAR简介 AUTOSAR&#xff08;AUTomotive Open System ARchitecture&#xff09;是一种为汽车软件开发提供开放化、标准化、可重…