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

非递减子序列(力扣491)

这道题的难点依旧是去重,但是与之前做过的子集类问题的区别就是,这里是求子序列,意味着我们不能先给数组中的元素排序。因为子序列中的元素的相对位置跟原数组中的相对位置是一样的,如果我们改变数组中元素的顺序,子序列也会发生改变。那么我们就不能使用之前用到过的去重方法,此题需要使用道哈希表,这样就可以实现去重的功能。哈希表的使用我们之前也练过不少题,这里就不详细说明了,忘记的同学可以看一下之前的博客。需要注意的是,我们需要在每一层递归中都定义一个新的哈希表,原因在于:往下递归子序列可以取重复的元素,但是在同一层递归的for循环中遍历时需要跳过重复的元素。其他的点比较好懂,大家可以结合我下面的代码及详细注释理解此题。

代码及详细注释如下:

class Solution {
public:vector<int> path;vector<vector<int>> result;void backtracking(vector<int>& nums,int start){//注意题目说了至少两个元素if(path.size() >= 2){result.push_back(path);}    //终止条件if(start >= nums.size()){return;}//每一层递归都需要定义一个新的哈希表unordered_set<int> uset;for(int i = start;i < nums.size();i++){//去重操作if((path.empty() != 1 && nums[i] < path.back()) || uset.find(nums[i]) != uset.end()){continue;}uset.insert(nums[i]);path.push_back(nums[i]);backtracking(nums,i + 1);path.pop_back();//注意哈希表并不需要回溯,因为每一层都有专门的哈希表来负责去重}}vector<vector<int>> findSubsequences(vector<int>& nums) {result.clear();path.clear();backtracking(nums,0);return result;}
};

相关文章:

非递减子序列(力扣491)

这道题的难点依旧是去重&#xff0c;但是与之前做过的子集类问题的区别就是&#xff0c;这里是求子序列&#xff0c;意味着我们不能先给数组中的元素排序。因为子序列中的元素的相对位置跟原数组中的相对位置是一样的&#xff0c;如果我们改变数组中元素的顺序&#xff0c;子序…...

网站快速收录策略:提升爬虫抓取效率

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/102.html 要实现网站快速收录并提升爬虫抓取效率&#xff0c;可以从以下几个方面入手&#xff1a; 一、优化网站结构与内容 清晰的网站结构 设计简洁明了的网站导航&#xff0c;确保爬虫…...

系统思考—自我超越

“人们往往认为是个人的能力限制了他们&#xff0c;但事实上&#xff0c;是组织的结构和惯性思维限制了他们的潜力。”—彼得圣吉 最近和一家行业隐形冠军交流&#xff0c;他们已经是领域第一&#xff0c;老板却依然要求&#xff1a;核心团队都要自我超越&#xff0c;攻坚克难…...

苍穹外卖-菜品分页查询

3. 菜品分页查询 3.1 需求分析和设计 3.1.1 产品原型 系统中的菜品数据很多的时候&#xff0c;如果在一个页面中全部展示出来会显得比较乱&#xff0c;不便于查看&#xff0c;所以一般的系统中都会以分页的方式来展示列表数据。 菜品分页原型&#xff1a; 在菜品列表展示时…...

子集II(力扣90)

这道题与子集(力扣78)-CSDN博客 的区别就在于集合中的元素会重复&#xff0c;那么还按照之前的代码来操作就会得到重复的子集&#xff0c;因此这道题的重点就在于去重。需要注意的是&#xff0c;这里的去重指的是在同一层递归中&#xff0c;而在往下递归的子集中可以取重复的元…...

user、assistant、system三大角色在大语言模型中的作用(通俗解释)

1 概述 在大语言模型中&#xff0c;通常涉及到三种角色&#xff1a;用户&#xff08;user&#xff09;、助手&#xff08;assistant&#xff09;和系统&#xff08;system&#xff09;。简单来说&#xff0c;和大模型对话其实是三个人的电影。 2 角色定义 2.1 系统&#xf…...

LeetCode 3444.使数组包含目标值倍数的最小增量

给你两个数组 nums 和 target 。 在一次操作中&#xff0c;你可以将 nums 中的任意一个元素递增 1 。 返回要使 target 中的每个元素在 nums 中 至少 存在一个倍数所需的 最少操作次数 。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3], target [4] 输出&#xff1a…...

2月9日星期日今日早报简报微语报早读

2月9日星期日&#xff0c;农历正月十二&#xff0c;早报#微语早读。 1、2025WTT新加坡大满贯&#xff1a;王楚钦林诗栋获得男双冠军&#xff1b; 2、海南万宁快查快处一起缺斤短两案件&#xff1a;拟罚款5万元&#xff0c;责令停业3个月&#xff1b; 3、四川宜宾市筠连县山体…...

MOSSE目标跟踪算法详解

1. 引言 MOSSE算法&#xff08;Multi-Object Spectral Tracking with Energy Regularization&#xff09;是多目标跟踪领域的一座里程碑式成果&#xff0c;被认为是开创性的工作&#xff0c;为后续研究奠定了重要基础。该算法通过创新性地结合频域特征分析与能量正则化方法&am…...

生成式聊天机器人 -- 基于Pytorch + Global Attention + 双向 GRU 实现的SeqToSeq模型 -- 下

生成式聊天机器人 -- 基于Pytorch Global Attention 双向 GRU 实现的SeqToSeq模型 -- 下 训练Masked 损失单次训练过程迭代训练过程 测试贪心解码(Greedy decoding)算法实现对话函数 训练和测试模型完整代码 生成式聊天机器人 – 基于Pytorch Global Attention 双向 GRU 实…...

本地部署的DeepSeek-R1-32B与DeepSeek-R1-7B模型效果对比

本地部署的DeepSeek-R1-32B与DeepSeek-R1-7B模型效果对比 在当今人工智能快速发展的时代,大语言模型(Large Language Model, LLM)的应用场景日益广泛。无论是企业级应用还是个人开发,本地部署大语言模型已经成为一种趋势。DeepSeek-R1-32B和DeepSeek-R1-7B作为DeepSeek系列…...

AWS Fargate

AWS Fargate 是一个由 Amazon Web Services (AWS) 提供的无服务器容器计算引擎。它使开发者能够运行容器化应用程序&#xff0c;而无需管理底层的服务器或虚拟机。简而言之&#xff0c;AWS Fargate 让你只需关注应用的容器本身&#xff0c;而不需要管理运行容器的基础设施&…...

表单与交互:HTML表单标签全面解析

目录 前言 一.HTML表单的基本结构 基本结构 示例 二.常用表单控件 文本输入框 选择控件 文件上传 按钮 综合案例 三.标签的作用 四.注意事项 前言 HTML&#xff08;超文本标记语言&#xff09;是构建网页的基础&#xff0c;其中表单&#xff08;<form>&…...

【电机控制器】STC8H1K芯片——低功耗

【电机控制器】STC8H1K芯片——低功耗 文章目录 [TOC](文章目录) 前言一、芯片手册说明二、IDLE模式三、PD模式四、PD模式唤醒五、实验验证1.接线2.视频&#xff08;待填&#xff09; 六、参考资料总结 前言 使用工具&#xff1a; 1.STC仿真器烧录器 提示&#xff1a;以下是本…...

win10 llamafactory模型微调相关① || Ollama运行微调模型

目录 微调相关 1.微调结果评估 2.模型下载到本地 导出转换&#xff0c;Ollama运行 1.模型转换&#xff08;非常好的教程&#xff01;&#xff09; 2.Ollama 加载GGUF模型文件 微调相关 1.微调结果评估 【06】LLaMA-Factory微调大模型——微调模型评估_llamafactory评估-C…...

SMU寒假训练周报

训练情况 本周是第一周&#xff0c;训练情况不是很好&#xff0c;因为从期末周到现在一直没训练&#xff0c;不是在复习就是在忙其他的事情&#xff0c;导致状态下滑很严重&#xff0c;没有什么代码的感觉&#xff0c;而且回家之后的事情也挺多&#xff0c;社会实践的时间有时…...

高并发读多写少场景下的高效键查询与顺序统计的方案思路

之前在某平台看到一篇有意思的场景——对于高并发读多写少场景下&#xff0c;如何进行高效键查询与统计早于其创建时间且没有被删除的数量&#xff08;只需要先入先出&#xff0c;不需要从中间删元素&#xff09; 在高并发、读多写少的场景下&#xff0c;业务需求通常聚焦在以…...

Android Studio 配置 Gerrit Code Review

很多大厂&#xff08;华为、荣耀&#xff09;的大型项目都有gerrit代码审查流程&#xff0c;那么我们如何实现不手动敲命令行&#xff0c;就在Android Studio中像平常开发一样&#xff0c;只需要用鼠标点点点&#xff0c;就能将代码推送到gerrit审查仓呢&#xff0c;现在就来跟…...

html为<td>添加标注文本

样式说明&#xff1a; /*为td添加相对定位点*/ .td_text {position: relative; }/*为p添加绝对坐标(相对于父元素中的定位点)*/ .td_text p {position: absolute;top: 80%;font-size: 8px; }参考资料&#xff1a;...

(done) openMP学习 (Day10: Tasks 原语)

url: https://dazuozcy.github.io/posts/introdution-to-openmp-intel/#19-%E6%8A%80%E8%83%BD%E8%AE%AD%E7%BB%83%E9%93%BE%E8%A1%A8%E5%92%8Copenmp 本章节内容仅提供引入&#xff0c;关于 task 更详细的细节请看 openMP 手册或者源材料 Day9 介绍了一个优化链表遍历的粗糙方…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...