题目描述:
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/contains-duplicate-ii
字典键值对的方式来判断
class Solution:
def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
m = dict()
#enumerate,第一个返回值是索引
for i, val in enumerate(nums):
r = m.get(val)
if r == None:
m[val] = i
else:
if abs(m[val] - i) <= k:
return True
else:
m.pop(val)
m[val] = i
return False