정수 배열이 주어지면 숫자 그리고 정수 케이, 반품 진실두 개가 있다면 별개의 지수나 그리고 j 배열에서 숫자[i] == 숫자[j] 그리고 절대(i - j) <= k.
예시 1:
입력: 숫자 = [1,2,3,1], k = 3
산출: 진실
예 2:
입력: 숫자 = [1,0,1,1], k = 1
산출: 진실
예시 3:
입력: 숫자 = [1,2,3,1,2,3], k = 2
산출: 거짓
제약:
1 <= 숫자.길이 <= 10 5
-10 9 <= 숫자[i] <= 10 9
0 <= k <= 10 5
파이썬
# 시간 복잡도: O(n) # 공간 복잡도: O(min(n,k)) 입력 가져오기 목록 클래스 솔루션: def containNearbyDuplicate(self, nums: List[int], k: int) -> bool: dic = {} for i, j in enumerate(nums): j가 dic이고 i인 경우 - dic[j] <= k: True dic[j] = i 반환 False nums = [1, 2, 3, 1] k = 3 print(Solution().containsNearbyDuplicate(nums, k))