Skip to main content

1. Two Sum

easyAsked at Rappi

Find two indices whose values sum to a target — Rappi frames this as finding two courier earnings entries that sum to a promised payout.

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

Problem

Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume each input has exactly one solution and the same element cannot be used twice.

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 complement

Store seen values keyed by complement so each lookup is constant time.

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:

Rappi-specific tips

Rappi cares that you process the courier-payout array in a single pass — they'll push back if you scan twice when one pass over the dispatch log is enough.

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 Rappi interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.

Practice these live with InterviewChamp.AI →