1. Two Sum
easyAsked at MercuryFind indices of two numbers in an array that add up to a target.
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 you may not use the same element twice.
Constraints
2 <= nums.length <= 10^4-10^9 <= nums[i] <= 10^9Only one valid answer exists
Examples
Example 1
nums = [2,7,11,15], target = 9[0,1]Example 2
nums = [3,2,4], target = 6[1,2]Approaches
1. Brute force pairs
Check every pair (i,j) for nums[i] + nums[j] == 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 complement
Walk once and store seen values; for each x check if target-x already exists. Single pass and linear 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);
}
return [];
}Tradeoff:
Mercury-specific tips
At Mercury, expect this framed as finding two ACH transfers whose totals reconcile to a posted balance change; call out idempotency keys so retries don't double-match.
Solve it now
Free. No sign-up. Python and JavaScript run instantly in your browser.
Practice these live with InterviewChamp.AI
Drill Two Sum and other Mercury interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →