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 difference between
i and j is at most k.
用map存放nums和index。比较已存在的index和当前的index差值。
public boolean containsNearbyDuplicate(int[] nums, int k) {
if(nums==null||nums.length<=0)
return false;
HashMap<Integer,Integer> map=new HashMap<Integer,Integer>();
for(int i=0;i<nums.length;i++){
if(!map.containsKey(nums[i]))
map.put(nums[i], i);
else{
if(i-map.get(nums[i])<=k)
return true;
else
map.put(nums[i], i);
}
}
return false;
}