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

存在重复元素II(简单)

这个问题可以使用哈希表来高效解决,我们可以在遍历数组的同时记录每个数字最近出现的索引,并检查当前数字是否之前出现过且索引差满足条件。

class Solution {public boolean containsNearbyDuplicate(int[] nums, int k) {HashMap<Integer, Integer> map = new HashMap<>();for (int i = 0; i < nums.length; i++) {int num = nums[i];// 如果当前数字之前出现过,并且索引差 <= kif (map.containsKey(num) && i - map.get(num) <= k) {return true;}// 更新当前数字的最新索引map.put(num, i);}return false;}
}
  1. 我们使用一个 HashMap 来存储数字和它们最近一次出现的索引。

  2. 遍历数组时,对于每个数字:

    • 检查它是否已经在哈希表中存在

    • 如果存在且当前索引与之前索引的差 ≤ k,返回 true

    • 否则更新哈希表中该数字的索引为当前索引

  3. 如果遍历完整个数组都没有找到满足条件的数字对,则返回 false

http://www.xdnf.cn/news/3736.html

相关文章:

  • 用 DuckDB 高效分析 JSON 数据:从入门到实战
  • 机器学习常用评价指标
  • P1004 [NOIP 2000 提高组] 方格取数
  • api补充
  • 在GPU集群上使用Megatron-LM进行高效的大规模语言模型训练
  • 有效的字母异位词(简单)
  • 闭包(Closure)及其作用和影响
  • 《ATPL地面培训教材13:飞行原理》——第5章:升力
  • 【算法应用】基于灰狼算法优化深度信念网络回归预测(GWO-DBN)
  • C# 运算符重载深度解析:从基础到高阶实践
  • MIT6.S081-lab8
  • 十一岁少年叶珉雪用艺术点亮公益之路 个人原创公益演唱会传递大爱与担当
  • C++类_构造函数
  • DBSCAN对比K-means
  • 软件第三方测试报告:从测试背景目的到方法范围全解析?
  • 域名与官网的迷思:数字身份认证的全球困境与实践解方-优雅草卓伊凡
  • Java 网络安全新技术:构建面向未来的防御体系
  • 【三班网】初中最后一次研学活动纪实
  • 如何提升个人的理解能力?
  • 生成式 AI 的优势
  • 软件管理(安装方式)
  • 【关于LM311实现过零比较器输出波形】2022-9-27
  • 【自然语言处理与大模型】使用Xtuner进行模型合并与导出
  • NHANES指标推荐:triglyceride levels
  • MySQL安装完全指南:从零开始到配置优化(附避坑指南)
  • java_Lambda表达式
  • C++函数详解:从基础到高级应用
  • 二维码批量识别—混乱多张二维码识别-物品分拣—-未来之窗-仙盟创梦IDE
  • 生成式 AI 的阐释
  • 解决Maven项目中报错“java不支持版本6即更高的版本 7”