[LeetCode] 219. Contains Duplicate II

Chobby·2025년 2월 19일
1

LeetCode

목록 보기
237/427

😎풀이

  1. Map 자료구조 사용
  2. nums를 순회
    2-1. 등장했던 수일 경우 문제 조건에 부합한다면 true 반환
    2-2. 현재 숫자와 인덱스를 key와 value 형태로 갱신
  3. 조건에 맞는 수가 없었다면 false 반환
function containsNearbyDuplicate(nums: number[], k: number): boolean {
    // Map 정의
    const map = new Map<number, number>()
    for(let i = 0; i < nums.length; i++) {
        const num = nums[i]
        // 이전 등장 숫자인 경우 문제 조건 확인
        if(map.has(num)) {
            const prevIdx = map.get(num)
            if(Math.abs(i - prevIdx) <= k) return true
        }
        // 인덱스 갱신
        map.set(num, i)
    }

    return false
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글