码迷,mamicode.com
首页 > 其他好文 > 详细

219. 存在重复元素 II

时间:2018-11-28 22:12:32      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:problem   索引   com   rom   bool   targe   http   enum   nta   

题目

python

方法一:

class Solution:
    def containsNearbyDuplicate(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: bool
        """
        
        d = dict()
        
        for i in range(len(nums)):
            if nums[i] in d:
                if -k <= i- d[nums[i]] <= k:
                    return True
                else:
                    d[nums[i]]=i                
            
            d[nums[i]] = i
        
        return False

思路:
创建dict

遍历list

if items in dict 比较索引

如果不在 item添加到dict

方法二:

class Solution:
    def containsNearbyDuplicate(self, nums, k):
        """
        :type nums: List[int]
        :type k: int
        :rtype: bool
        """
        if nums == [] or k <=0:
            return False
        
        d = {}
        
        for i,x in enumerate(nums):
            if x in d and i - d[x] <= k:              
                return True
            d[x] = i        
        return False

思路与上面的方法相近。

enumerate作用于list,str,tuple能够同时列出索引和数据。

219. 存在重复元素 II

标签:problem   索引   com   rom   bool   targe   http   enum   nta   

原文地址:https://www.cnblogs.com/xiaojianliu/p/10034533.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!