본문 바로가기

LeetCode - Top Interview 150

[Java Script]LeetCode 219. Contains Duplicate II

1. 문제 개요

문제 링크 : 219. Contains Duplicate II

 

Contains Duplicate II - LeetCode

Can you solve this real interview question? Contains Duplicate II - Given an integer array nums and an integer k, return true if there are two distinct indices i and j in the array such that nums[i] == nums[j] and abs(i - j) <= k.   Example 1: Input: nums

leetcode.com

  • 배열인 에서 두 인덱스의 차이가 k 이하이면서 같은 값이면 true를 반환하고 없다면 false를 반환하는 문제입니다.

2. 문제 풀이

문제 자체는 간단합니다. 배열의 인덱스를 비교하고 그치 값을 주어진 k의 값과 비교하면 되는 문제입니다.

 

LeetCode 요구 양식으로 코드 구현

var containsNearbyDuplicate = function(nums, k) {
    let arr = [];
    for(let i = 0; i < nums.length; i++) {
        if(i - arr[nums[i]] <= k) {
            return true;
        } else {
            arr[nums[i]] = [i] ;
        }
    }
    return false;
};

 

LeetCode 제출 결과

이렇게 구현에 성공하였습니다.

 

3. 시간 복잡도 계산

splice의 시간복 작도가 O(n)입니다.

더보기

O(n) = O(n)

 

4. 깃허브

관련 사항은 깃허브에 모두 기재되어 있습니다.