给定一个整数数组 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);
发表评论