地址:点击打开链接
题目大意:给定一个整数数组nums与一个整数k,当且仅当存在两个不同的下标i和j满足nums[i] = nums[j]并且| i - j | <= k时返回true,否则返回false。
所以用遍历的方法是不行的,设定滑动窗口也是有点问题,所以在python中可以用字典的方法,感觉这个比较容易理解
答案:
if nums == []:
return False
numdict = {}
for i in range(len(nums)):
idx = numdict.get(numdict[i])
if idx >= 0 and abs(idx - i) <= k:
return True
numdict[numdict[i]] = i
return False