两数之和,力扣 第一题
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
数组nums:nums = [2,7,11,15]
target 值是 :target = 9
解题思路:利用obj特性, 总合 = 目标值 减 数组元素值 ,obj[总合] 是否存在,不存在就 插入obj,存在就返回其值
/**
* 解题思路:利用obj特性, 总合 = 目标值 减 数组元素值 ,obj[总合] 是否存在,不存在就 插入obj,存在就返回其值
* @type {number[]}
*/
const nums = [2, 6, 7, 15, 7];
const target = 9;
function twoSum(nums, target) {
let obj = {};
for (let i = 0; i < nums.length; i++) {
let sum = target - nums[i];
if (obj[sum]) {
return [obj[sum] - 1, i];
}
obj[nums[i]] = i + 1;
}
}
let sum = twoSum(nums, target);
console.log(sum);