Сложность: Лёгкая
Условие задачи: дан массив из целых чисел и число k. Необходимо вернуть
true, если существуют два уникальных индекса, которые удовлетворяют условиям:- nums[i] == nums[j];
- abs(i - j) <= k.Пример:
Ввод: nums = [1,2,3,1], k = 3
Вывод: true
Ввод: nums = [1,0,1,1], k = 1
Вывод: true
Решение:
def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
dic = {}
for i in range(len(nums)):
if nums[i] in dic and i - dic[nums[i]] <= k:
return True
dic[nums[i]] = i
return FalseПишите свое решение в комментариях👇
@python_job_interview