☰ All problems

1. Two Sum

EasyArrayHash Table

Given an array of integers nums and an integer target, return the indices of the two numbers that add up to target.

Each input has exactly one solution, and you may not use the same element twice. Return the two indices in any order.

Example 1
Input: nums = [2,7,11,15], target = 9
Output: [0,1]

Explanation: nums[0] + nums[1] = 2 + 7 = 9.

Example 2
Input: nums = [3,2,4], target = 6
Output: [1,2]
Example 3
Input: nums = [3,3], target = 6
Output: [0,1]

Constraints

  • 2 <= nums.length <= 10^4
  • -10^9 <= nums[i], target <= 10^9
  • Exactly one valid answer exists.
💡 Hint 1

A brute-force pair check is O(n²). Can you avoid re-scanning the array?

💡 Hint 2

For each number, the partner you need is target - num. Remember what you have already seen, and where.

/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
function twoSum(nums, target) {

}
Ctrl/⌘ + ' run · Ctrl/⌘ + Enter submit
esc