算法:两数之和 - 前端笔记-两数之和,力扣 第一题 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 数组nu...

学习笔记

点滴记忆
回忆过往
首页>> 算法 >>算法:两数之和 - 前端笔记
2022-8-17
分类: 算法

算法:两数之和

文章作者:痴迷

两数之和,力扣  第一题 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。......

两数之和,力扣  第一题

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

×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:前端笔记 » 算法:两数之和

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)