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

LeetCode 219.存在重复元素2

给你一个整数数组 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^55
-109^99 <= nums[i] <= 109^99
0 <= k <= 105^55

遍历nums,使用哈希记录下相同值的最大下标:

class Solution {
public:bool containsNearbyDuplicate(vector<int>& nums, int k) {unordered_map<int, int> maxPos;for (int i = 0; i < nums.size(); ++i) {if (maxPos.find(nums[i]) == maxPos.end()) {maxPos[nums[i]] = i;} else if (i - maxPos[nums[i]] <= k) {return true;} else {maxPos[nums[i]] = i;}}return false;}
};

如果nums的长度为n,nums中值的种类为m,则此算法时间复杂度为O(n),空间复杂度为O(m)。

http://www.dtcms.com/a/577145.html

相关文章:

  • 【CS224N】《深度学习自然语言处理》完整版笔记
  • 广东企业网站建设推荐网站做收录
  • XC7Z020-1CLG484I Xilinx AMD FPGA Zynq-7000 SoC
  • 论文分享 | BARD-GS:基于高斯泼溅的模糊感知动态场景重建
  • FPGA—ZYNQ学习spi(六)
  • 多智能体医疗会诊系统
  • ETCD 压力测试脚本
  • kali的下载和安装【ISO安装】
  • 从标签到数据流:BarTender让“可追溯”更简单
  • 零基础学AI大模型之Embedding与LLM大模型对比全解析
  • 7.游戏逆向-pxxx-TUObjectArray分析
  • web214-web220
  • 通州北苑网站建设程序开发的基本步骤是什么?
  • 专题:2025中国制造业出海与出海品牌社媒影响力洞察报告|附300+份报告PDF、数据、绘图模板汇总下载
  • 【 C/C++ 算法】入门动态规划 ----- 简单多状态 dp 问题》打家劫舍 和 股票买卖问题
  • (114页PPT)华为FusionCloud私有云最佳实践RegionTypeII(附下载方式)
  • 赤壁专业建站公司学做卤味视频网站
  • 3d光学轮廓仪如何局部测量标准台阶?
  • 【数据集+完整源码】水稻病害数据集,yolov8水稻病害检测数据集 6715 张,目标检测水稻识别算法实战训推教程
  • 3D Gaussian Splatting:渲染流程
  • 云原生LVS+Keepalived高可用方案(二)
  • IBM VO 面试经验分享|一场更像“聊天”的正式考核
  • 用单位的服务器做网站关键词优化网站
  • C语言基础开发入门系列(八)C语言指针的理解与实战
  • 如何绑定网站域名解析电商网站模板html
  • 【机器视觉通用检测框架】基于VS2019 C#+VisionPro9.0开发的视觉框架软件,全套源码,开箱即用
  • 智慧交通管理新范式 基于深度学习的城市交通车型识别AI监控系统 车型识别 停车场车型分类系统 高速路车型识别算法
  • pnpm 安装依赖后 仍然启动报的问题
  • 【河北政务服务网-注册_登录安全分析报告】
  • 深入理解 package.json:前端项目的 “身份证“