存在重复元素 II
给你一个整数数组
nums和一个整数k,判断数组中是否存在两个 不同的索引i和j,满足nums[i] == nums[j]且abs(i - j) <= k。如果存在,返回true;否则,返回false。
示例 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提示:
1 <= nums.length <= 10^5-10^9 <= nums[i] <= 10^90 <= k <= 10^5
哈希表
我这里用的是对象
TypeScript
function containsNearbyDuplicate(nums: number[], k: number): boolean {
let obj = {}
for (let i = 0; i < nums.length; i++) {
const item = nums[i];
if (item in obj && Math.abs(i - obj[item]) <= k) {
return true;
}
obj[item] = i
}
return false
};
_Ghosteye