前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Leetcode 题目解析之 Contains Duplicate II

Leetcode 题目解析之 Contains Duplicate II

原创
作者头像
ruochen
发布2022-01-08 14:52:32
1.2K0
发布2022-01-08 14:52:32
举报

Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that numsi = numsj and the difference between i and j is at most k.

建立一个map,key是出现过的元素,value是该元素的下标。若相同元素距离大于k,则更新下标。

代码语言:txt
复制
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        Map<Integer, Integer> map = new HashMap<Integer, Integer>();
        for (int i = 0; i < nums.length; i++) {
            if (map.containsKey(nums[i])) {
                if (i - map.get(nums[i]) <= k) {
                    return true;
                }
            }
            map.put(nums[i], i);
        }
        return false;
    }

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档