Skip to main content

1. Two Sum

easyAsked at Ramp

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

By Alex Chen, Founder, InterviewChamp.AI · Last verified

Problem

Return indices of the two numbers in the array that add up to the target. Exactly one solution exists and you cannot use the same element twice.

Constraints

  • 2 <= nums.length <= 10^4
  • -10^9 <= nums[i] <= 10^9
  • Exactly 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

Try every pair (i, j) and check if they sum to target.

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 one-pass

Store each value's index as you scan; look up complement in O(1). Single pass through the array.

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:

Ramp-specific tips

Ramp interviewers often reframe Two Sum as finding two card transactions that reconcile to a target AP invoice amount, so be ready to discuss exact-cent matching.

Solve it now

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

Output

Press Run or Cmd+Enter to execute

Practice these live with InterviewChamp.AI

Drill Two Sum and other Ramp interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.

Practice these live with InterviewChamp.AI →