您的位置:首页 > Web前端 > JavaScript

[leetcode]存在重复元素 II[javascript]

2019-01-02 10:53 423 查看
版权声明:\ΦωΦ/\ΦωΦ/\ΦωΦ/\ΦωΦ/ https://blog.csdn.net/u010690493/article/details/85601922

https://leetcode-cn.com/problems/contains-duplicate-ii/

描述

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

示例 1:

输入: nums = [1,2,3,1], k = 3
输出: true

示例 2:

输入: nums = [1,0,1,1], k = 1
输出: true

示例 3:

输入: nums = [1,2,3,1,2,3], k = 2
输出: false

分析

也是转换为对象,把下标赋值为值。有重复判断当前遍历的i与对象值得差是否小于等于k。

var containsNearbyDuplicate = function(nums, k) {
let len = nums.length, obj = {}
for (let i = 0; i < len; i++) {
if (obj[nums[i]]) {
obj.flag = true
if (i + 1 - obj[nums[i]] <= k) {
return true
}
}
obj[nums[i]] = i + 1
}
return false
};

相关链接

存在重复元素

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: