📌 Задача. Наличие дубликатов



Сложность: Лёгкая



Условие задачи: дан массив из целых чисел и число 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