leetcode#219 Contains Duplicate II

정은경·2022년 6월 18일
0

알고리즘

목록 보기
95/125

1. 문제

2. 나의 풀이

2-1.

class Solution(object):
    def containsNearbyDuplicate(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: bool
        """
        
        # 연속된 k개의 숫자 중에 같은 숫자가 있으면 return True하는 문제
        # 1. nums[i:i+k] 중 중복된 숫자가 있는지 i를 1씩 증가하여 찾는다
        # 2. 중복 여부를 체크하는 방법은 set를 이용한다. (set하고 난 뒤의 길이가 달라진 다면 중복이 있음을 의미)
        
        if len(nums) == len(set(nums)):
            return False
        
        for i in range(len(nums)):
            start_index = i
            end_index = min(i+k+1, len(nums))
            if len(nums[start_index:end_index]) != len(set(nums[start_index:end_index])):
                return True
        return False

3. 남의 풀이

profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글