728x90
반응형
문제 / 예제 / 제한조건 :
겹치는 수의 인덱스 차이가 k보다 적게 나는 것이 1개라도 있으면 true!
매우매우 기분 좋게 한 번에 아주 좋은 결과로 통과해부렀지〰️
해결방법
나는 map에 num값을 key로 Index 값을 value로 저장해두고,
같은 num값이 있을 경우, index 값을 비교해서 k 보다 크면 더 큰 (최신) index 값을 저장하여 index 값을 업데이트 해주는 식으로 하였다.
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]) && (i - map.get(nums[i])) <= k) return true;
else map.put(nums[i], i);
}
return false;
}
}
Time Complexity : O(n)
Space Complexity : O(n)
Easy라서 그런지 한 번에 아주 만족스러운 결과! 빰빰!
728x90
반응형