【子集回溯】【树枝+树层去重】Leetcode 491. 非递减子序列

【组合回溯】【树枝+树层去重】Leetcode 491. 非递减子序列

    • 解法1

---------------🎈🎈题目链接🎈🎈-------------------
在这里插入图片描述

解法1

【树层去重】:如果在同层元素重复(这里无法排序,所以无法使用之前的flag,采用hashset) continue跳过
【树枝去重】:树枝必须按照从小到大,如果本层的某个元素小于上一层父节点大小 continue跳过

class Solution {List<List<Integer>> result = new ArrayList<>();List<Integer> temp = new ArrayList<>();public List<List<Integer>> findSubsequences(int[] nums) {if(nums.length<2) return result;helper(nums,0,Integer.MIN_VALUE);return result;}public void helper(int[] nums, int start, int upnum){HashSet<Integer> myhash = new HashSet<>();for(int i = start; i < nums.length ; i++){if(nums[i] < upnum){ // 如果本层的某个元素小于上一层父节点大小  continue跳过 【树枝必须按照从小到大】continue;}if(myhash.contains(nums[i])){ // 如果在同层元素重复(这里无法排序,所以无法使用之前的flag,采用hashset) continue跳过 【树层去重】continue;}temp.add(nums[i]);myhash.add(nums[i]);if(temp.size()>=2){result.add(new ArrayList<>(temp));}helper(nums,i+1,nums[i]);temp.removeLast();}}
}

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

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

相关文章

Making Anti-Palindromes

题目链接 Codeforces Round 867 (Div. 3) E. Making Anti-Palindromes 挺好的一道鸽巢原理题。 思路&#xff1a; 贪心地来想&#xff0c;我们没必要动本来就不同的一对&#xff0c;而对相同的对&#xff0c;我们可以让它们互相之间进行交换&#xff0c;这样一次交换就可以…

HarmonyOS 应用开发之启动远程PageAbility(仅对系统应用开放)

启动远程PageAbility同样通过featureAbility中的startAbility接口实现。 除引入’ohos.ability.featureAbility’外&#xff0c;还需引入’ohos.distributedHardware.deviceManager’&#xff0c;通过DeviceManager&#xff08;该组件提供帐号无关的分布式设备的认证组网能力&…

鸿蒙南向开发实战:【智能窗帘】

样例简介 智能窗帘设备不仅接收数字管家应用下发的指令来控制窗帘开启的时间&#xff0c;而且还可以加入到数字管家的日程管理中。通过日程可以设定窗帘开关的时间段&#xff0c;使其在特定的时间段内&#xff0c;窗帘自动打开或者关闭&#xff1b;通过日程管家还可以实现窗帘…

蓝桥杯备考

目录 P8823 [传智杯 #3 初赛] 期末考试成绩 题目描述 输入格式 输出格式 输入输出样例 说明/提示 代码 P8828 [传智杯 #3 练习赛] 直角三角形 题目描述 输入格式 输出格式 输入输出样例 代码 P8833 [传智杯 #3 决赛] 课程 题目背景 题目描述 输入格式 输出格式…

redis---位图Bitmap和位域 Bitfield

位图是字符串类型的拓展&#xff0c;可以使用一个string类型来模拟一个Bit数组。数组的下标就是偏移量&#xff0c;值只有0和1&#xff0c;也支持一些位运算&#xff0c;比如与或非&#xff0c;异或等等&#xff0c;它们的应用场景非常广泛比如可以用来记录用户的签到情况&…

dict类型如何保存为json数据,给一个python示例代码

dict类型如何保存为json数据&#xff0c;给一个python示例代码 import json# 假设我们有一个字典对象 data_dict {"name": "Alice","age": 30,"city": "Wonderland" }# 将字典转换为JSON格式的字符串 json_string json.d…

代码随想录一刷总结(待更新)

文章目录 代码随想录一刷总结数组篇二分查找双指针用法 链表篇哈希表篇字符串篇栈与队列篇二叉树篇回溯篇贪心篇动态规划篇 代码随想录一刷总结 数组篇 二分查找 最重要的是循环不变量原理 区间定义 left right 时有没有意义&#xff0c;取决于开区间还是闭区间 使用场景…

Qt中继承QCheckBox的类结合QTableWidget实现多选并且每个多选的id都不一样

1.相关描述 继承QCheckBox的类MyCheckBox&#xff0c;利用QTableWidget的setCellWidget方式添加MyCheckBox类的对象 2.相关页面 3.相关代码 mycheckbox.h #ifndef MYCHECKBOX_H #define MYCHECKBOX_H#include <QCheckBox> #include <QObject>class MyCheckBox : pu…

力扣刷题Days31-2.两数相关(js)

1&#xff0c;题目 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;…

Vue3:Pinia简介及环境搭建

一、简介 Pinia是Vue3中的状态管理工具&#xff0c;类似与Vue2中的Vuex框架的作用 二、环境搭建 1、安装 npm install pinia2、配置 main.ts import {createApp} from vue import App from ./App.vue // 第一步&#xff1a;引入pinia import {createPinia} from piniacons…

Nginx - directory index of “/usr/share/nginx/html/“ is forbidden

问题描述 安装完 Nginx 之后访问本机 IP&#xff0c;结果直接报错&#xff0c;然后去查看 Nginx 错误日志&#xff0c;看到如下错误信息&#xff0c;意思是 html 下面没有 directory index of "/usr/share/nginx/html/" is forbidden 解决方案 Q1&#xff1a;如果在…

zabbix源码安装

目录 一.安装php和nginx客户端环境 二.修改php配置 三.修改nginx配置文件 四.下载并编译zabbix 五.创建zabbix需要的用户及组 六.安装编译需要的依赖 七.配置zabbix文件 八.数据库配置 九.配置zabbix 十.web界面部署 十一.遇到无法创建配置文件 十二.登录zabbix 前…

C# OAuth单点登录的实现

原理 单点登录&#xff08;Single Sign-On&#xff0c;简称SSO&#xff09;是一种身份验证技术&#xff0c;它允许用户使用一组凭据&#xff08;如用户名和密码&#xff09;登录多个相关但独立的系统&#xff0c;而无需在每个系统中都进行登录操作。下面是一个简单的SSO实现示…

[Python学习篇] Python简介

介绍 Python&#xff08;意为大蟒蛇&#xff09;由荷兰国家数学与计算机科学研究中心的吉多范罗苏姆于1990年代初设计&#xff0c;作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构&#xff0c;还能简单有效地面向对象编程。Python语法和动态类型&#xff0c;以及…

2014最新AI学法减分交管12123小程序源码最新玩法

2014最新AI学法减分交管12123小程序源码最新玩法利用ChatGPT实现拍照搜题 利用ChatGPT实现拍照搜题 学法减分这个项目是几年之前的项目&#xff0c;老朋友都知道&#xff0c;以前我用Python实现了向量检索&#xff0c;也就是当时和大家说到的AI题库&#xff0c;那时候国内还没…

鸿蒙实战开发:【实现应用悬浮窗】

如果你要做的是系统级别的悬浮窗&#xff0c;就需要判断是否具备悬浮窗权限。然而这又不是一个标准的动态权限&#xff0c;你需要兼容各种奇葩机型的悬浮窗权限判断。 fun checkPermission(context: Context): Boolean if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M)…

蓝桥杯速成5-AD/DA模数转换

一、原理图 上图可知该芯片使用的是iic时序&#xff0c;而不是51单片机的xpt2046时序&#xff0c;iic我们都很熟悉了吧 并且大赛还提供了我们iic底层驱动代码 左上角有AIN0-4四个转换输入通道&#xff0c;和AOUT一个输出通道&#xff0c;由控制字节选择 地址字节&#xff1a;0x…

自由职业指南大全

现在的自媒体行业风生水起 不知道大家有没有感觉到 无论是网赚圈子还是自媒体圈子&#xff0c;都不要自己去闷头搞&#xff0c;真的没出路 我本人就是最好的例子 前几年都是一个人&#xff0c;盲目乱转&#xff0c;一事无成 现在学会了知识付费&#xff0c;开始慢慢有了成…

C++之STL的algorithm(5)之生成算法(accumulate、fill)整理

C之STL的algorithm&#xff08;5&#xff09;之生成算法&#xff08;accumulate、fill&#xff09;整理 注&#xff1a;整理一些突然学到的C知识&#xff0c;随时mark一下 例如&#xff1a;忘记的关键字用法&#xff0c;新关键字&#xff0c;新数据结构 C 的遍历算法整理 C之ST…

硬件RAID横评(上)

正文共&#xff1a;3857字 50图&#xff0c;预估阅读时间&#xff1a;12 分钟 之前误打误撞测试了软件RAID&#xff08;Windows下软RAID测试&#xff09;&#xff0c;发现性能基本上是线性的&#xff0c;而据说硬件RAID性能比这个高的很。那本文将就硬件RAID展开测试&#xff0…