text: /**
   * @param {number[]} nums
   * @param {number} target
   * @return {number[]}
   */
  var twoSum = function(nums, target) {
    const map = new Map();
  
    for (let i = 0; i < nums.length; i++) {
      if (map.has(nums[i])) {
        return [map.get(nums[i]), i];
      } else {
        map.set(target - nums[i], i);
      }
    }
  };
  
  // time:  O(n)
  // space: O(n)
  
  // [2, 7, 11, 15], 9
  // [-3, 4, -6, 5], -1
  