219. 存在重複元素 II

題目python

python

方法一:spa

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

思路:
建立dictcode

遍歷listblog

if items in dict 比較索引索引

若是不在 item添加到dictip

方法二:leetcode

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

思路與上面的方法相近。get

enumerate做用於list,str,tuple可以同時列出索引和數據。it

相關文章
相關標籤/搜索