219. Contains Duplicate II

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 nums[i] = nums[j] and the absolute difference between i and j is at most k.

http://www.jianshu.com/p/993639a376f0 差不多多了一个条件。

class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        HashMap<Integer,Integer> map = new HashMap<>();
        for(int i = 0 ;i<nums.length;i++)
        {
            if(map.containsKey(nums[i]))
            {
                int pos = map.get(nums[i]);
                if(i-pos<=k)
                    return true;
            }
                map.put(nums[i],i);
        }
        return false ;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容