Skip to main content

1. Two Sum

easyAsked at Coursera

Find two indices whose values sum to a target — Coursera uses this to gauge hash-table fluency in a learner-pairing context.

By Sam K., Founder, InterviewChamp.AI · Last verified

Problem

Given an array of integers nums and an integer target, return indices of the two numbers that add up to target. You may assume each input has exactly one solution.

Constraints

  • 2 <= nums.length <= 10^4
  • -10^9 <= nums[i] <= 10^9
  • Only one valid answer exists

Examples

Example 1

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

Example 2

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

Approaches

1. Brute force

Check every pair of indices.

Time
O(n^2)
Space
O(1)
for (let i = 0; i < nums.length; i++)
  for (let j = i+1; j < nums.length; j++)
    if (nums[i] + nums[j] === target) return [i, j];

Tradeoff:

2. Hash map

Store complement -> index. One pass, O(1) lookup per element.

Time
O(n)
Space
O(n)
function twoSum(nums, target) {
  const seen = new Map();
  for (let i = 0; i < nums.length; i++) {
    const need = target - nums[i];
    if (seen.has(need)) return [seen.get(need), i];
    seen.set(nums[i], i);
  }
}

Tradeoff:

Coursera-specific tips

Coursera interviewers like when you reframe Two Sum as a learner-pairing problem (matching two learners whose study hours sum to a target session length) and reason about the hash-map invariant out loud.

Solve it now

Free. No sign-up. Python and JavaScript run instantly in your browser.

Output

Press Run or Cmd+Enter to execute

Companies that also ask Two Sum