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

存在重复元素 II(LeetCode)

题目

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

解题

"""
时间复杂度为 O(n),空间复杂度为 O(min(n, k)),其中 n 是数组的长度
"""def containsNearbyDuplicate(nums, k):# 创建一个哈希表来存储元素及其对应的索引num_dict = {}# 遍历数组中的每个元素for i, num in enumerate(nums):# 如果当前元素已经存在于哈希表中,且满足 abs(i - j) <= kif num in num_dict and abs(i - num_dict[num]) <= k:return True# 更新哈希表,存储当前元素及其索引num_dict[num] = i# 如果没有找到满足条件的元素,返回 Falsereturn Falsenums = [1, 2, 3, 1]
k = 3
print(containsNearbyDuplicate(nums, k))  # 输出: True

http://www.mrgr.cn/news/5342.html

相关文章:

  • java在实际开发中反常识bug
  • 黑马头条vue2.0项目实战(十一)——功能优化(组件缓存、响应拦截器、路由跳转与权限管理)
  • 高并发eleme项目登录模块(thirty-three day)
  • ubuntu VCS+verdi安装遇到的一些问题
  • DFS - 树的重心
  • 网页,html,Web端实现RTSP/RTMP实时推流视频和播放
  • 不同版本gcc、g++的默认支持的std C++标准
  • 视频智能分析工业排污检测算法及算法源码全套应用方案
  • Rust web框架介绍一
  • 理解List AbstractList ArrayList
  • git常见问题
  • 2024-01-开发技术积累
  • 攻防世界-web题型-2星难度汇总-个人wp
  • MTK 5G旗舰智能手机SoC芯片——MT6989(天玑9300)
  • 排序之插入排序
  • 远程服务器文件和本地文件同步的一个方法
  • pytorch 快速入门-方法篇
  • [LeetCode]438.找到字符串中所有字母异位词(C++)
  • 32次8.21(学习playbook-roles,脚本创建数据库和表,mycat读写分离)
  • 教你一键快速生成词云图片