回溯算法:非递减子序列子集,这题的去重并不是通解!!!!

ops/2025/2/22 16:18:22/

一、题目

二、分析

这道题是有重复元素的,我们需要做到单层去重。可以参考以下链接

回溯算法:子集2-CSDN博客但是,以往的去重我们都是利用used数组和对输入的数组进行排序才做到的,这道题要求我们求子序列,我们是无法先把输入数组排序的,那该如何做呢?

这题可以对每一层的元素都建立一个set集合,如果访问过的元素,就把他放入set。

三、代码

public class DiZengZiXuLie {@Testpublic void test(){int[] test={4,6,7,7,5,7};findSubsequences(test);System.out.println(res);}List<List<Integer>> res=new ArrayList<>();//定义结果集List<Integer> path=new ArrayList<>();//定义单个结果public List<List<Integer>> findSubsequences(int[] nums) {backtracking(nums,0);return res;}public void backtracking(int[] nums,int begin){if(path.size()>=2){res.add(new ArrayList<>(path));}if(begin==nums.length){return;}Set<Integer> set=new HashSet<>(nums.length);for (int i = begin; i < nums.length; i++) {if(i>0&&set.contains(nums[i])){//同层必须去重continue;}if(path.size()>0&&nums[i]<path.get(path.size()-1)){//不满足递增,跳过continue;}path.add(nums[i]);set.add(nums[i]);backtracking(nums,i+1);path.remove(path.size()-1);}}
}


http://www.ppmy.cn/ops/160543.html

相关文章

Mac OS JAVA_HOME设置

个人博客地址&#xff1a;Mac OS JAVA_HOME设置 | 一张假钞的真实世界 在MacOS上使用DMG文件安装了Jdk8 之后&#xff0c;在默认路径下找不到JDK的HOME路径&#xff1a; $ which java /usr/bin/java $ ls -l /usr/bin/java lrwxr-xr-x 1 root wheel 74 12 6 2015 /usr/b…

工业大数据实验室解决方案

一、项目目的 建成产教深度融合的高水平专业化工业大数据实践实训基地&#xff1b; 培养技术扎实、工程实践能力强的工业大数据人才&#xff1b; 赋能院校建设“双师型”创新师资队伍&#xff1b; 校企深度合作&#xff0c;促进教育、人才、科技、产业等要素双向流动&#x…

巧用GitHub的CICD功能免费打包部署前端项目

近年来&#xff0c;随着前端技术的发展&#xff0c;前端项目的构建和打包过程变得越来越复杂&#xff0c;占用的资源也越来越多。我有一台云服务器&#xff0c;原本打算使用Docker进行部署&#xff0c;以简化操作流程。然而&#xff0c;只要执行sudo docker-compose -f deploy/…

纷析云开源版- Vue2-前端表格使用

table 数据超出文本省略 <TableItem title"响应参数"><template slot-scope"{data}"><TextEllipsis text-class"link" :text"data.responseParams" more"..." :height"20" use-tooltip/></…

工业级无人机手持地面站技术详解

工业级无人机手持地面站是无人机系统的核心组成部分&#xff0c;它集控制、通信、数据处理于一体&#xff0c;为无人机的安全飞行和任务执行提供全面支持。以下是对工业级无人机手持地面站技术的详细解析&#xff1a; 一、硬件构成 1. 处理器与操作系统&#xff1a; 工业级手…

谷粒商城—分布式高级②.md

认证服务 1. 环境搭建 创建gulimall-auth-server模块,导依赖,引入login.html和reg.html,并把静态资源放到nginx的static目录下 2. 注册功能 (1) 验证码倒计时 //点击发送验证码按钮触发下面函数 $("#sendCode").click(function () {//如果有disabled,说明最近…

电脑连接wifi成功但上不了网 电脑网络故障解决方法

有时候我们在使用电脑的时候会遇到这样的问题&#xff1a;电脑明明连接上了WiFi&#xff0c;但却无法上网。这种情况下&#xff0c;我们应该如何解决呢&#xff1f;下面将为您介绍一些可能的原因和解决方法&#xff0c;帮助您成功上网。 一、确认网络是否正常 首先&#xff0c…

破局与重构:水务企业数字化转型路径探索

随着数字化技术的发展和智慧城市建设进程的推进&#xff0c;水务行业正经历以数据为驱动的深刻变革。本文深入探讨水务行业数字化发展的趋势、水务企业数字化转型的痛点、水务行业标杆企业数字化转型实践以及水务企业数字化转型的方向和路径&#xff0c;为水务企业十五五期间把…