class Solution:
def containsNearbyDuplicate(self, nums, k):
pos = {}
for i, num in enumerate(nums):
if num in pos and i - pos[num] <= k:
return True
pos[num] = i
return False
1.首先创建一个字典存数组下标pos
{数字:下标}
2.循环遍历数组nums
,如果当前下标的数字num
在字典中已存在且当前索引与重复数字索引的差值<=k(代表两个索引的之前的距离),那么直接返回True
,否则就将当前数字下标存在字典中。