LeetCode 面试经典150题 219.存在重复元素II

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

思路

代码

java 复制代码
class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        int n = nums.length;
        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < n; i++) {
            if (i > k)  set.remove(nums[i - k -1]);
            if (set.contains(nums[i]))  return true;
            set.add(nums[i]);
        }
        return false;
    }
}

性能

时间复杂度o(n)

空间复杂度o(k)

相关推荐
我叫黑大帅3 分钟前
git 的 NFD 与 NFC 有什么区别?为什么我有个文件在 NFC 中间不会被当成改动,在 NFD 中就会当成改动
git·面试·github
清泓y10 分钟前
RAG 技术
算法·ai
我叫黑大帅15 分钟前
add()和 __add__() 写法哪个更好呢?
后端·python·面试
阿慧今天瘦了嘛18 分钟前
计算机组成原理概述:从硬件到软件的桥梁
计算机网络·算法
网站优化(SEO)专家1 小时前
SEO核心算法拆解:网站排名快速提升的武林秘籍!
算法·搜索引擎·网站排名·核心算法
惊讶的猫1 小时前
CLGSI
人工智能·算法·机器学习
ysa0510302 小时前
【板子】二分答案(最大最小?)
c++·笔记·算法·板子
科技之门2 小时前
百公里管网漏损分级定位实战方案2026
前端·人工智能·算法
木木子223 小时前
# 猜数字游戏 — HarmonyOS交互逻辑与随机算法实现
算法·游戏·华为·交互·harmonyos
stolentime3 小时前
SP8549 MAIN75 - BST again题解
c++·算法·二叉树·深度优先·图论·记忆化搜索·组合数学