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

【存在重复元素II】

在这里插入图片描述

思路

核心思路:使用哈希表记录每个数字最近出现的索引

  1. 遍历数组:逐个处理每个元素
  2. 检查条件:如果当前数字之前出现过,且索引差 ≤ k,返回 true
  3. 更新记录:无论是否找到,都更新该数字的最新索引位置
  4. 遍历完成:如果没有找到满足条件的配对,返回 false

代码实现分析

class Solution {
public:bool containsNearbyDuplicate(vector<int>& nums, int k) {unordered_map<int, int> mp;  // 存储数字和最近出现的索引int n = nums.size();for (int i = 0; i < n; i++) {int num = nums[i];// 检查条件:数字出现过且索引差 ≤ kif (mp.count(num) && i - mp[num] <= k) {return true;}// 更新该数字的最新索引位置mp[num] = i;}return false;}
};

思路

1. 哈希表初始化
unordered_map<int, int> mp;
  • 键(key):数组中的数字
  • 值(value):该数字最近出现的索引位置
2. 遍历和处理逻辑
for (int i = 0; i < n; i++) {int num = nums[i];// 检查是否满足条件if (mp.count(num) && i - mp[num] <= k) {return true;}// 更新索引位置mp[num] = i;
}
http://www.dtcms.com/a/348361.html

相关文章:

  • 57 C++ 现代C++编程艺术6-类的内部类
  • MSF基础知识
  • Flask蓝图:模块化开发的利器
  • 数学建模--模糊综合评价法
  • 优化OpenHarmony中lspci命令实现直接获取设备具体型号
  • 7.6 残差网络
  • Palantir Foundry 领先其他数据平台5到10年:一位使用者的深入观察
  • vscode配置remote-ssh进行容器内开发
  • BQTLOCK 勒索软件即服务出现,拥有复杂的规避策略
  • MRO and mixin in Python Django
  • GD32VW553-IOT 测评和vscode开发环境搭建
  • Flutter性能优化完全指南:构建流畅应用的实用策略
  • 多奥将梯控系统、无线网桥及工业交换机的核心功能与参数整合为结构化表格,并补充应用价值分析
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十八) 使用表格
  • 时间复杂度
  • 多核多线程应用程序开发可见性和乱序如何处理
  • ESNP LAB 笔记:配置MPLS(Part2)
  • Java Stream API详解
  • iptables 防火墙核心知识梳理(附实操指南)
  • VS2022的MFC中关联使用控制台并用printf输出调试信息
  • GPT 模型详解:从原理到应用
  • 构建AI智能体:十二、给词语绘制地图:Embedding如何构建机器的认知空间
  • 大白话解析:多证明验证(Merkle Multi-Proof)​
  • 【Python】CSV批量转Excel工具 (Tkinter版)
  • 【Docker基础】Docker-compose多容器协作案例示例:从LNMP到分布式应用集群
  • 复杂姿态误报率↓78%!陌讯多模态算法在跌倒检测的医疗落地
  • 恶劣天气下漏检率↓79%!陌讯多模态时序融合算法在道路事故识别的实战优化
  • 第16届蓝桥杯C++中高级选拔赛(STEMA)2025年1月12日真题
  • 大模型面试题剖析:模型微调和蒸馏核心技术拆解与考点梳理
  • 爆肝三周,我终于上线了自己的第一个小程序