leetCode1. 两数之和

97 views次阅读
没有评论

给定一个整数数组nums和一个目标值target,请你在数组中找出和为目标值的两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案,但是,你不能重复利用这个数组中同样的元素。 示例: 输入:nums: [2,7,11,15], target = 9 输出:因为nums[0] + nums[1] = 2 + 7 = 9, 所以返回 [0, 1]

下面是解法:

  const twoSum = (nums, target) => {
    let obj = {}; // 定义一个空对象
    for (let i = 0; i < nums.length; i++) {
      if (obj[target - nums[i]] >= 0) { // 若对象中有值大于等于0,则说明找到了两个和为target的数
        return [obj[target - nums[i], i]; // 返回各自对应的下标
      }
      obj[nums[i]] = i; // 给空对象赋值
    }
  }
guxuerui
版权声明:本站原创文章,由guxuerui于2020年03月30日发表,共计530字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
Loading...