219. 存在重复元素 II
小于 1 分钟
219. 存在重复元素 II简单
解题思路: 哈希 + 数组
class Solution {
public boolean containsNearbyDuplicate(int[] nums, int k) {
HashMap<Integer,ArrayList<Integer>> map = new HashMap<>();
for(int i = 0;i < nums.length;i++) {
if(map.containsKey(nums[i])) {
ArrayList<Integer> list = map.get(nums[i]);
for(int j : list) {
if(Math.abs(j - i) <= k) return true;
}
list.add(i);
}else {
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(i);
map.put(nums[i],list);
}
}
return false;
}
}
Powered by Waline v2.15.5