題目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