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

存在重复元素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

相关文章:

  • Three.js在vue中的使用(二)-加载、控制
  • web应用开发说明文档
  • 连续变量与离散变量的互信息法
  • pcf8563时钟驱动编写记录
  • C++/SDL 进阶游戏开发 —— 双人塔防(代号:村庄保卫战 20)
  • Java响应式编程
  • 【C++篇】类和对象(上)
  • 第6章 Python 基本数据类型详解(int, float, bool, str)细节补充
  • 探索Grok-3的高级用法:功能与应用详解
  • SeataAT模式
  • 【傻呱呱】BIOS里的某个启动引导项丢失如何找回?
  • AtCoder AT_abc404_g [ABC404G] Specified Range Sums
  • Windows下编译WebRTC源码
  • 第1章 Python 解释器安装(Anaconda/Pyenv 推荐)
  • STM32基础教程——软件I2C
  • 域名与官网的迷思:数字身份认证的全球困境与实践解方-优雅草卓伊凡
  • RT-Thread studio的驱动5.1.0报错修改
  • Mybatisplus:一些常用功能
  • 【Linux】Linux应用开发小经验
  • vmware diffy配置ollama 本机ip无法访问
  • 申活观察|精致精准精细,城市“双面镜”照见怎样的海派活力
  • 下达专项资金、党政主官田间调研……全国多地力保夏粮稳收
  • 月薪3万文科友好,“AI训练师”真有那么赚?
  • 党旗下的青春|赵天益:少年确定志向,把最好的时光奉献给戏剧事业
  • 印度宣布即日起对所有巴基斯坦航班关闭领空
  • 美乌矿产协议签署被曝“临门一脚”时生变,美方提附加条件