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

LeetCode 219. 存在重复元素 II

LeetCode 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

哈希表

先构造哈希表,然后分析满足条件的值

class Solution:def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:d = defaultdict(list)for idx, num in enumerate(nums):d[num].append(idx)for num in d:if len(d[num]) < 2:continuefor i in range(len(d[num]) - 1):if (d[num][i + 1] - d[num][i]) <= k:return Truereturn False

借助哈希表渐进求值,666

class Solution:def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:pos = {}for i, num in enumerate(nums):if num in pos and i - pos[num] <= k:return Truepos[num] = ireturn False# 作者:力扣官方题解
# 链接:https://leetcode.cn/problems/contains-duplicate-ii/solutions/1218075/cun-zai-zhong-fu-yuan-su-ii-by-leetcode-kluvk/
# 来源:力扣(LeetCode)
# 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
http://www.lryc.cn/news/397026.html

相关文章:

  • 【目标检测】使用自己的数据集训练并预测yolov8模型
  • 应用监控SkyWalking调研
  • Selenium使用注意事项:
  • 小程序需要进行软件测试吗?小程序测试有哪些测试内容?
  • 一文读懂企业租用GPU的注意事项!
  • Linux运维:mysql主从复制原理及实验
  • 022-GeoGebra中级篇-几何对象之直线与坐标轴
  • node js安装、配置(Windows版)
  • go语言day08 泛型 自定义错误处理 go关键字:协程
  • MySql性能调优01-[数据结构和索引]
  • 【算法入门-栈】逆波兰表达式求值
  • 【史上最全面ESP32教程】http通信
  • *算法训练(leetcode)第二十七天 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
  • OpenJudge 奇数求和
  • 【排序 - 快速排序】
  • pytest使用报错(以及解决pytest所谓的“抑制print输出”)
  • 开源项目编译harbor arm架构的包 —— 筑梦之路
  • [笔记] SKF Enveloping FAQ 用户指南
  • 宪法学学习笔记(个人向) Part.3
  • 联想拯救者Y7000 IRX9 笔记本接口功能介绍
  • 【ESP32】打造全网最强esp-idf基础教程——16.SmartConfig一键配网
  • MD5加密和注册页面的编写
  • 【Android组件】封装加载弹框
  • Spring源码二十:Bean实例化流程三
  • 前端导出文件时,后端代码出错如何将错误信息返回给前端展示
  • 解决Spring Boot应用中的内存优化问题
  • shark云原生-日志体系-filebeat高级配置(适用于生产)-更新中
  • 响应式设计的双璧:WebKit 支持 CSS Flexbox 和 Grid 布局深度解析
  • Linux软件包管理
  • 如何分辨AI生成的内容?AI生成内容检测工具对比实验