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

day-45 全排列 II

在这里插入图片描述
思路
与上一题思路相同,代码也基本一致,只是需要全排列不重复

解题过程
可以利用Arrays.sort()函数将nums数组进行排序,这样相同的全排列数字的位置也会相同,可以利用List的contains()函数进行判断,如果不重复则加入答案

Code

class Solution {public List<List<Integer>> list=new ArrayList<>();public int len;public int choose[];public List<List<Integer>> permuteUnique(int[] nums) {len=nums.length;choose=new int[len];Arrays.fill(choose,1);Arrays.sort(nums);List<Integer> p=new ArrayList<>();dfs(p,0,nums);return list;}public void dfs(List<Integer> p,int num,int[] arr){if(num==len){if(!list.contains(p)){list.add(new ArrayList(p));return;}}for(int j=0;j<len;j++){if(choose[j]!=-1){choose[j]=-1;p.add(arr[j]);choose[j]=-1;dfs(p,num+1,arr);p.remove(p.size()-1);choose[j]=1;}}}
}作者:菜卷
链接:https://leetcode.cn/problems/permutations-ii/solutions/2899318/quan-pai-lie-ii-by-ashi-jian-chong-dan-l-cgpf/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【机器学习】循环神经网络(RNN)介绍
  • MySQL集群技术4——MySQL路由
  • 【大模型】Reflextion解读
  • P01-何谓Java方法
  • Nginx: 使用KeepAlived配置实现虚IP在多服务器节点漂移及Nginx高可用原理
  • macos 10.15 Catalina 可用docker最新版本 Docker Desktop 4.15.0 (93002) 下载地址与安装方法
  • 视觉辅助应用场景
  • JAVA:文字写入图片、图片插入图片
  • 在Java中,获取输入内容可以通过多种方式实现,以下是三种常用的方式:Scanner、BufferedReader 和 Console 的具体代码示例
  • 51单片机.之 UART串口
  • JVM下篇:性能监控与调优篇-04-JVM运行时参数
  • MySQL场景测试题
  • 【wsl2】从C盘迁移到G盘
  • MySQL高阶练习题1- 寻找面试候选人
  • 网络编程(学习)2024.8.27
  • [译]如何构建服务器端web组件,为何要构建?
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 30秒的PHP代码片段(1)数组 - Array
  • AHK 中 = 和 == 等比较运算符的用法
  • Android交互
  • emacs初体验
  • IDEA 插件开发入门教程
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • react-native 安卓真机环境搭建
  • Shell编程
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vuex 笔记整理
  • 测试开发系类之接口自动化测试
  • 第十八天-企业应用架构模式-基本模式
  • - 概述 - 《设计模式(极简c++版)》
  • 如何设计一个比特币钱包服务
  • 手写双向链表LinkedList的几个常用功能
  • ​​​​​​​​​​​​​​Γ函数
  • ​2021半年盘点,不想你错过的重磅新书
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • "无招胜有招"nbsp;史上最全的互…
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (阿里云万网)-域名注册购买实名流程
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (六)DockerCompose安装与配置
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (五)关系数据库标准语言SQL
  • .apk文件,IIS不支持下载解决
  • .net core Redis 使用有序集合实现延迟队列
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .Net Core 中间件验签
  • .Net Core缓存组件(MemoryCache)源码解析