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

【LeetCode:219. 存在重复元素 II + 哈希表】

在这里插入图片描述

🚀 算法题 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域新星创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 算法题 🚀

在这里插入图片描述

在这里插入图片描述

🍔 目录

    • 🚩 题目链接
    • ⛲ 题目描述
    • 🌟 求解思路&实现代码&运行结果
      • ⚡ 哈希表
        • 🥦 求解思路
        • 🥦 实现代码
        • 🥦 运行结果
    • 💬 共勉

🚩 题目链接

  • 219. 存在重复元素 II

⛲ 题目描述

给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false 。

示例 1:

输入:nums = [1,2,3,1], k = 3
输出:true
示例 2:

输入:nums = [1,0,1,1], k = 1
输出:true
示例 3:

输入:nums = [1,2,3,1,2,3], k = 2
输出:false

提示:

1 <= nums.length <= 105
-109 <= nums[i] <= 109
0 <= k <= 105

🌟 求解思路&实现代码&运行结果


⚡ 哈希表

🥦 求解思路
  1. 题目需要求解判断的是,数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k,具体怎么实现呢?
  2. 通过一个Map来存储,key存储的是当前数值,value为当前数值的下标,在遍历数组中的元素时,如果map此时包含当前的元素,并且满足 abs(当前下标 - map.get(当前数值)) <= k,如果满足,返回true,否则,继续判断。
  3. 循环结束,如果还未满足,直接返回false。
  4. 实现代码如下。
🥦 实现代码
class Solution {public boolean containsNearbyDuplicate(int[] nums, int k) {int n = nums.length;HashMap<Integer, Integer> map = new HashMap<>();for (int i = 0; i < n; i++) {if (map.containsKey(nums[i]) && Math.abs(i - map.get(nums[i])) <= k)return true;map.put(nums[i], i);}return false;}
}
🥦 运行结果

在这里插入图片描述


💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

相关文章:

  • Ant design vue中的提示框(a-tooltip)
  • Linux应用开发实验班——JSON-RPC
  • 大数据新视界 --大数据大厂之HBase 在大数据存储中的应用与表结构设计
  • 【有啥问啥】“弱激励学习(Weak Incentive Learning)”的原理与过程解析
  • 如何使用ssm实现基于SpringMVC网上选课系统的设计与实现
  • 努比亚z17努比亚NX563j原厂固件卡刷包下载_刷机ROM固件包下载-原厂ROM固件-安卓刷机固件网
  • Python图形用户界面设计的15个基础组件
  • 代码编码规范文档(参考)
  • GPT实现联网,NextChat插件的配置说明
  • 理解和使用语言模型的监督微调 (SFT)
  • 贷款并非只看利息低,还有很多你知不道的地方
  • 探索未来IT技术的浩瀚星河:一场跨越时代的数字盛宴
  • 沉浸式艺术创作:FLUX.1模型下的Java开发者体验之旅
  • python基础之绘图turtle与分词
  • HarmonyOS鸿蒙开发实战(5.0)自定义路由栈管理
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 11111111
  • 2019.2.20 c++ 知识梳理
  • Angular Elements 及其运作原理
  • angular2 简述
  • JWT究竟是什么呢?
  • Webpack 4 学习01(基础配置)
  • 大快搜索数据爬虫技术实例安装教学篇
  • 大主子表关联的性能优化方法
  • 复杂数据处理
  • 看域名解析域名安全对SEO的影响
  • 类orAPI - 收藏集 - 掘金
  • 马上搞懂 GeoJSON
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 我感觉这是史上最牛的防sql注入方法类
  • 学习HTTP相关知识笔记
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 一些css基础学习笔记
  • raise 与 raise ... from 的区别
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​iOS实时查看App运行日志
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (C#)获取字符编码的类
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (补)B+树一些思想
  • (多级缓存)缓存同步
  • (二)springcloud实战之config配置中心
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (精确度,召回率,真阳性,假阳性)ACC、敏感性、特异性等 ROC指标
  • (小白学Java)Java简介和基本配置
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转)负载均衡,回话保持,cookie
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • (自用)仿写程序
  • *1 计算机基础和操作系统基础及几大协议
  • .Net 4.0并行库实用性演练
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Core中的时区转换问题