# ❓ 周一算法题之「两数之和」

给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。

示例:

;(nums = [2, 7, 11, 15]), (target = 9)
nums[0] + nums[1] = 2 + 7 = 9

// [0, 1]
1
2
3
4

# Coding

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum = function (nums, target) {
  let _map = new Map()
  for (let i = 0; i < nums.length; i++) {
    const _temp = nums[i] - target
    if (_map.has(_temp)) return [_map.get(_temp), i]
    _map.set(_temp, i)
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13