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