首页 > 其他 > 详细

LeetCode 219. 存在重复元素 II

时间:2021-03-10 15:17:15      阅读:18      评论:0      收藏:0      [点我收藏+]

219. 存在重复元素 II

Difficulty: 简单

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

示例 1:

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

示例 2:

输入: nums = [1,0,1,1], k = 1
输出: true

示例 3:

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

Solution

class Solution:
    def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:
        if not k or not nums:
            return False
        d = {}
        for i, e in enumerate(nums):
            if e not in d:
                d[e] = i
            else:
                if i - d[e] <= k:
                    return True
                else:
                    d[e] = i  # 注意这种例子:nums = [1,0,1,1], k = 1
        return False

LeetCode 219. 存在重复元素 II

原文:https://www.cnblogs.com/swordspoet/p/14510490.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!