/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param numbers int整型一维数组
* @param target int整型
* @return int整型一维数组
*/
function twoSum(numbers, target) {
// write code here
const map = new Map(); // 构建一个Map,用于记录每个数的值和对应的下标
for (let i = 0; i < numbers.length; i++) {
const num = numbers[i];
const diff = target - num; // 计算目标值与当前数的差
if (map.has(diff)) {
// 若记录中存在差值,说明找到了一组解,直接返回即可
return [map.get(diff), i + 1];
} else {
// 若记录中不存在差值,将当前数及对应下标加入哈希表中
map.set(num, i + 1);
}
}
return []; // 如果没有找到解,返回一个空数组
}
module.exports = {
twoSum: twoSum,
};