中级农民
- 积分
- 135
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2020-6-15
- 最后登录
- 1970-1-1
|
字典法 - 219. Contains Duplicate II(类似2SUM NON-SORTED ARRAY,不能用双指针)
- '''
- Given an array of integers and an integer k, find out whether there are two distinct indices i and j in the array such that nums[i] = nums[j] and the absolute difference between i and j is at most k.
- Example 1:
- Input: nums = [1,2,3,1], k = 3
- Output: true
- Example 2:
- Input: nums = [1,0,1,1], k = 1
- Output: true
- Example 3:
- Input: nums = [1,2,3,1,2,3], k = 2
- Output: false
- '''
- nums = [1,2,3,1,2,3]
- k = 2
- def containsNearbyDuplicate(nums, k):
- d = {}
- for i in range(len(nums)) :
- if nums[i] in d:
- if i - d[nums[i]] <= k:
- return True
- d[nums[i]] = i
- return False
- print(containsNearbyDuplicate(nums, k))
复制代码
|
|