从差值为 k 的数组中查找整数对(仅使用哈希表)
Find pairs of integers from an array having difference of k (using hash tables only)
给定一个包含不同整数值的数组,计算具有差异 k 的整数对的数量。例如,给定数组 {1, 7, 5, 9, 2, 12, 3} 和差值 k = 2。
需要仅使用哈希表的解决方案。
将所有数字放入散列中table。然后,对于每个原始数字 n
检查 n+k
是否在散列 table 中。数一数,你找到了多少条。
这是在 Javascript 中实现的 O(N) 时间的解决方案:
function countSets(values, k) {
let map1 = new Map();
values.forEach((value) => {
map1.set(value);
});
let count = 0;
values.forEach((value) => {
if(map1.has(value + k))count++;
});
return count;
}
给定一个包含不同整数值的数组,计算具有差异 k 的整数对的数量。例如,给定数组 {1, 7, 5, 9, 2, 12, 3} 和差值 k = 2。
需要仅使用哈希表的解决方案。
将所有数字放入散列中table。然后,对于每个原始数字 n
检查 n+k
是否在散列 table 中。数一数,你找到了多少条。
这是在 Javascript 中实现的 O(N) 时间的解决方案:
function countSets(values, k) {
let map1 = new Map();
values.forEach((value) => {
map1.set(value);
});
let count = 0;
values.forEach((value) => {
if(map1.has(value + k))count++;
});
return count;
}