每日OJ题_哈希表④_力扣219. 存在重复元素 II

目录

力扣219. 存在重复元素 II

解析代码


力扣219. 存在重复元素 II

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 <= 10^5
  • -10^9 <= nums[i] <= 10^9
  • 0 <= k <= 10^5
class Solution {
public:bool containsNearbyDuplicate(vector<int>& nums, int k) {}
};

解析代码

        快速定位到两个信息: 两个相同的元素 这两个相同元素的下标。 因此,可以使用哈希表,令数组内的元素做 key 值,该元素所对应的下标做 val 值,将数组元素和下标绑定在⼀起,存到哈希表中。

class Solution {
public:bool containsNearbyDuplicate(vector<int>& nums, int k) {unordered_map<int, int> hash; // 元素和下标for(int i = 0; i < nums.size(); ++i){if(hash.count(nums[i])) // 如果哈希表中存在此元素{if(hash[nums[i]] - i <= k) // 如果此元素下标与当前下标的差<=kreturn true;}hash[nums[i]] = i; // 覆盖前面的也没事,因为找<=k的}return false;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RabbitMQ 模拟实现【三】:存储设计

文章目录 数据库设计SQLite配置数据库实现 数据库关于哈希表等复杂类的存储启动数据库 文件设计消息持久化消息属性格式核心方法消息序列化消息文件回收 统一硬盘存储管理内存存储管理线程安全数据结构实现 数据库设计 数据库主要存储交换机、队列、绑定 SQLite 此处考虑的是…

完整的通过git命令框和windows窗口将本地文件上传到gitee远程仓库流程步骤

1.下载git 这个网站搜索git官方&#xff0c;去下载就行了 2.打开git安装后的Git Bash命令框 3.在Git Bash命令框设置一下要远程链接的gitee账号 git config --global user.name “名字”Git config --global user.email “邮箱” 4.查看一下账号设置 git config --global -…

Chitosan-PEG-DSPE 壳聚糖修聚乙二醇磷脂 DSPE-PEG-Chitosan

产品简称&#xff1a;DSPE-PEG-Chitosan、Chitosan-PEG-DSPE、DSPE-PEG-CS、CS-PEG-DSPE 产品中文名称&#xff1a;壳聚糖-聚乙二醇-磷脂、磷脂-聚乙二醇-壳聚糖 分子量&#xff1a;可以根据要求定制 保存条件&#xff1a; -20干燥保存 有效期&#xff1a; 一年 纯度&…

创建SpringCloudGateWay

创建SpringCloudGateWay 本案例基于尚硅谷《谷粒商城》项目&#xff0c;视频27 创建测试API网关 1、创建module 2、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:x…

Spring中的bean相关问题

Spring中的Bean的作用域主要有以下几种&#xff1a; singleton&#xff08;单例&#xff09;&#xff1a;在整个Spring IoC容器中&#xff0c;singleton作用域的Bean只会有一个实例存在。无论多少次请求容器提供该类型的Bean&#xff0c;容器都将返回同一个Bean实例。默认情况…

python中Unicode 数据库访问(Unicode Character Database)

此模块提供了对 Unicode Character Database (UCD) 的访问&#xff0c;其中定义了所有 Unicode 字符的字符属性。 此数据库中包含的数据编译自 UCD 版本 15.0.0。 该模块使用与 Unicode 标准附件 #44 “Unicode 字符数据库” 中所定义的相同名称和符号。 它定义了以下函数&…

WPF制作带图标和文字的按钮模板(通过附加属性实现)

1.界面模板代码部分 <Window.Resources><Style x:Key"IconButton" TargetType"Button"><Setter Property"Template"><Setter.Value><ControlTemplate TargetType"Button"><Border x:Name"borde…

(自用)Spring常用配置

spring: datasource: url: jdbc:mysql://127.0.0.1:3306/mycnblog?characterEncodingutf8&useSSLfalse username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver mvc: favicon: enable: false profiles: #多平台配置…

C++进阶--mep和set的模拟实现

红黑树链接入口 底层容器 模拟实现set和map时常用的底层容器是红黑树。 红黑树是一种自平衡的搜索二叉树&#xff0c;通过对节点进行颜色标记来保持平衡。 在模拟实现set和map时&#xff0c;可以使用红黑树来按照元素的大小自动排序&#xff0c;并且保持插入和删除操作的高效…

Set cancelled by MemoryScratchSinkOperator

Bug信息 Caused by: com.starrocks.connector.spark.exception.StarrocksInternalException: StarRocks server StarRocks BE{host=10.9.14.39, port=9060} internal failed, status code [CANCELLED] error message is [Set cancelled by MemoryScratchSinkOperator]Bug产生的…

使用 mapstructure 解析 json

介绍 先来介绍一下 mapstructure 这个库主要用来做什么的吧&#xff0c;官网是这么介绍的&#xff1a; mapstructure 是一个 Go 库&#xff0c;用于将通用映射值解码为结构&#xff0c;反之亦然&#xff0c;同时提供有用的错误处理。 该库在解码数据流&#xff08;JSON、Gob …

微信名【无感】的同学,你还好吗?

今天遇到个选择了微信一对一服务的同学&#xff0c;问Python问题&#xff0c;问题比较简单。 回答完问题&#xff0c;我就说了一句&#xff1a;问题比较简单&#xff0c;随意打赏一个红包就行了。 然后我就被拉黑了&#xff0c;然后我的解答问题&#xff0c;收到了一堆投诉&…

Java算法-力扣leetcode-380. O(1) 时间插入、删除和获取随机元素

380. O(1) 时间插入、删除和获取随机元素 实现RandomizedSet 类&#xff1a; RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时&#xff0c;向集合中插入该项&#xff0c;并返回 true &#xff1b;否则&#xff0c;返回 false 。bool rem…

深入解析Java中锁机制以及底层原理

一、概述 1.1 背景 概念&#xff1a;锁是多线程编程中的机制&#xff0c;用于控制对共享资源的访问。可以防止多个线程同时修改或读取共享资源&#xff0c;从而保证线程安全。 作用&#xff1a;锁用于实现线程间的互斥和协调&#xff0c;确保在多线程环境下对共享资源的访问顺…

Flutter开发入门——Widget和常用组件

1.什么是Widget&#xff1f; 在Flutter中几乎所有的对象都是一个 widget 。与原生开发中“控件”不同的是&#xff0c;Flutter 中的 widget 的概念更广泛&#xff0c;它不仅可以表示UI元素&#xff0c;也可以表示一些功能性的组件如&#xff1a;用于手势检测的 GestureDetecto…

spring中事务失效的场景有哪些?

异常捕获处理 在方法中已经将异常捕获处理掉并没有抛出。 事务只有捕捉到了抛出的异常才可以进行处理&#xff0c;如果有异常业务中直接捕获处理掉没有抛出&#xff0c;事务是无法感知到的。 解决&#xff1a;在catch块throw抛出异常。 抛出检查异常 spring默认只会回滚非检…

对象的组合复用学习笔记

简单说&#xff0c;就是不同类的多个对象之间彼此调用对方的方法和变量&#xff0c;可能会多次调用&#xff0c;所以叫复用(重复)&#xff0c;所有对象本身具有独立的功能&#xff08;方法&#xff09;&#xff0c;共同完成一项任务的一部分&#xff0c;或者多个类的对象协助一…

ChatGPT浪潮来袭!谁先掌握,谁将领先!

任正非在接受采访时说 今后职场上只有两种人&#xff0c; 一种是熟练使用AI的人&#xff0c; 另一种是创造AI工具的人。 虽然这个现实听起来有些夸张的残酷&#xff0c; 但这就是我们必须面对的事实 &#x1f4c6; 对于我们普通人来说&#xff0c;我们需要努力成为能够掌握…

基于STM32的智慧农业管理系统设计与实现

文章目录 一、前言1.1 项目介绍【1】项目功能【2】设计实现的功能【3】项目硬件模块组成 1.2 设计思路1.3 传感器功能介绍1.4 开发工具的选择 二、EMQX开源MQTT服务器框架三、购买ECS云服务器3.1 登录官网3.2 购买ECS服务器3.3 配置安全组3.4 安装FinalShell3.5 远程登录到云服…

xsslabs靶场通关(持续更新)

文章目录 前言一、level1思路实现 二、levle2思路 三、level3思路实现 四、level4思路实现 五、level5思路实现 六、level6思路实现 七、level7思路实现 八、level8思路实现 九、level9思路实现 前言 本篇文章将介绍在xsslabs这个靶场&#xff08;在不知道源码的前提下&#x…