LeetCode #219. Contains Duplicate II

题目

219. Contains Duplicate II


解题方法

用一个字典dic存放已经访问过的数并记录它的index,如果遇到一个重复的数且它的index和存放在字典中的index之差小于k,返回True,否则更新字典中的index。
时间复杂度:O(n)
空间复杂度:O(n)


代码

class Solution:
    def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
        dic = {}
        for i in range(len(nums)):
            if nums[i] in dic and i - dic[nums[i]] <= k:
                return True
            else:
                dic[nums[i]] = i
        return False
posted @ 2020-11-02 11:02  老鼠司令  阅读(58)  评论(0)    收藏  举报