leeCode算法--存在重复元素(II)

题目:给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。

分析:看题目,直接就想到了哈希方式。统计字符出现的次数。

1
2
3
4
5
6
7
8
9
10
11
12
13
var containsNearbyDuplicate = function(nums, k) {
let obj = {}
for (let i = 0;i < nums.length;i++) {
if (obj[nums[i]] !== undefined &&
i - obj[nums[i]] <= k) {
return true
}
obj[nums[i]] = i
}
return false
};
containsNearbyDuplicate([1,2,3,1], 3) // true
containsNearbyDuplicate([1,2,3,1,2,3], 2) // false

That’s all!

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2022 Lee
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信