[LeetCode] Contains Duplicate II

아르당·2025년 10월 22일

LeetCode

목록 보기
52/68
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

정수 배열 nums와 정수 k가 주어졌을 때, 배열에 두 개의 서로 다른 인덱스 i와 j가 있고 nums[i] == nums[j]이고 abs(i - j) <= k인 경우 true를 반환해라.

Example

#1
Input: nums = [1, 2, 3, 1], k = 3
Output: true

#2
Input: nums = [1, 0, 1, 1], k = 1
Output: true

#3
Input: nums = [1, 2, 3, 1, 2, 3], k = 2
Output: false

Constraints

  • 1 <= nums.length <= 10^5
  • -10^9 <= nums[i] <= 10^9
  • 0 <= k <= 10^5

Solved

class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        Map<Integer, Integer> temp = new HashMap<>();

        for(int i = 0; i < nums.length; i++){
            int val = nums[i];

            if(temp.containsKey(val) && i - temp.get(val) <= k){
                return true;
            }

            temp.put(val, i);
        }

        return false;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글