Учитывая массив целых чисел и целое число k, выясните, есть ли в массиве два различных индекса i и j, так что nums [i] = nums [j] и абсолютная разница между i и j не превышает k.
Пример 1: Ввод: nums = [1,2,3,1], k = 3 Выход: истина
Пример 2: Ввод: nums = [1,0,1,1], k = 1 Выход: true
Пример 3: Вход: nums = [1,2,3,1,2,3], k = 2 Выход: false
У меня естьискал мой код в течение хороших 10 минут и до сих пор не понимаю, что пошло не так ... Мой код работает, но возвращает True для примера 1, False для примера 2, True для примера 3. (Это должно быть True для примера1, True для примера 2 и False для примера 3.
Может кто-нибудь помочь мне определить, где проблема в моем коде? Новичок Python здесь, заранее спасибо за вашу помощь!
def findDistinct(nums,k):
nums = sorted(nums) # sort first
for i in range(len(nums)):
for j in range(i+1,len(nums)):
if nums[i] == nums[j] and abs(j-i)<=k:
return True
else:
return False