[leetcode]219. 存在重复元素 II

    科技2022-08-27  99

    1.题目:

    给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。

    输入: nums = [1,2,3,1,2,3], k = 2 输出: false

    2.代码:

    ''' 要维护一个长度为k的窗口,只用考虑窗口内是否有重复; 保证i-HashDict[num]<=k,即当前num与dict内相同num下标差<=k ''' class Solution: def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool: HashDict = {} for i,num in enumerate(nums): if num in HashDict: if i-HashDict[num]<=k: return True HashDict[num] = i return False
    Processed: 0.015, SQL: 9