28 lines
800 B
Java
28 lines
800 B
Java
|
package com.zerroi.leetcode.Three20;
|
||
|
|
||
|
import java.util.HashMap;
|
||
|
import java.util.Map;
|
||
|
|
||
|
public class ContainsNearbyDuplicate {
|
||
|
public static void main(String[] args) {
|
||
|
SolutionSecond solutionSecond = new SolutionSecond();
|
||
|
boolean res = solutionSecond.containsNearbyDuplicate(new int[]{1,2,3,1}, 3);
|
||
|
System.out.println("res = " + res);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class SolutionSecond {
|
||
|
public boolean containsNearbyDuplicate(int[] nums, int k) {
|
||
|
Map<Integer, Integer> map = new HashMap<>();
|
||
|
for (int i = 0; i < nums.length; i++) {
|
||
|
if (map.containsKey(nums[i])) {
|
||
|
if (Math.abs(map.get(nums[i]) - i) <= k) {
|
||
|
return true;
|
||
|
}
|
||
|
}
|
||
|
map.put(nums[i], i);
|
||
|
}
|
||
|
return false;
|
||
|
}
|
||
|
}
|