数组中两数相加twoSum

//给出一个整数数组,请在数组中找出两个加起来等于目标值的数,

//你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从0开始的

function twoSum(nums, target) {

  let map = {};

  let res = [];

  for (let i = 0; i < nums.length - 1; i++) {

    if (map[nums[i]]) continue;

    let diff = target - nums[i];

    let tmpIndex = nums.indexOf(diff, i + 1);

    if (tmpIndex > -1) res.push([i, tmpIndex]);

    map[nums[i]] = true;

  }

  return res;

}



let rlt = twoSum([1, 2, 3, 4, 5, 6, 7], 8);

console.log(rlt);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值