问题:给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。
思路:利用哈希表,首先新建一个字典,然后通过判断这个索引在字典内,然后找到这个祥同志的另外一个索引只有相减是否小于等于K
class Solution:
def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
dict = {}
for i in range(len(nums)):
if nums[i] in dict and i - dict[nums[i]] <= k:#找到相同值的索引相减然后是否小于等于K
return True
dict[nums[i]] = i
return False