Re: [闲聊] 每日LeetCode

楼主: Rushia (みけねこ的鼻屎)   2022-10-21 09:12:55
219. Contains Duplicate II
给予一个整数阵列,若该整数阵列存在重复值,且它们距离不超过k,返回true反之返
回false。
Input: nums = [1,2,3,1], k = 3
Output: true
思路:
1.用HashMap储存上次访问元素nums[i]的索引,若HashMap存在nums[i]则检查i -
Map(nums[i]) 是否小于等于k,是就返回true。
2.都没有符合条件就返回false。
JavaCode:
class Solution {
public boolean containsNearbyDuplicate(int[] nums, int k) {
Map<Integer, Integer> map = new HashMap<>();
for(int i = 0; i < nums.length; i++) {
if(map.containsKey(nums[i])
&& i - map.get(nums[i]) <= k) return true;
map.put(nums[i], i);
}
return false;
}
}
姆咪
作者: sustainer123 (caster)   2022-10-21 09:14:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com