1. Two Sum
easyAsked at BrexGiven an array of integers and a target, return indices of two numbers that add to the target.
By Sam K., 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^9Exactly one valid answer exists
Examples
Example 1
Input
nums = [2,7,11,15], target = 9Output
[0,1]Example 2
Input
nums = [3,2,4], target = 6Output
[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:
Brex-specific tips
Brex interviewers often pivot Two Sum into a transaction-pair reconciliation problem, so be ready to discuss handling duplicate amounts and stable ordering for ledger auditability.
Solve it now
Free. No sign-up. Python and JavaScript run instantly in your browser.