1.题目描述
 
2.思路
 
3.代码实现
 public class Solution {
public boolean containsNearbyDuplicate(int[] nums, int k) {
           
        Map<Integer,Integer> m1=new HashMap<>();
        // 1:0, 2:1,3:2,1:3  key存数组的值,value存索引,为getnum[i]做准备,abs(i - j) <= k
        for(int i=0;i<nums.length;i++)
        { //当前元素是否在哈希表
            if(m1.containsKey(nums[i]))
            { //abs(i - j) <= k
                if(i-m1.get(nums[i])<=k)
                {
                    return true;//到满足条件的两个元素
                }
             
            }
               m1.put(nums[i],i);
                //把最近一次遇到重复索引的值存入到哈希表中
          
        }
          return false;
  
    }
};



















