1. Two Sum
easyAsked at AdyenGiven an array of integers and a target, return indices of two numbers that sum to the target.
By Sam K., Founder, InterviewChamp.AI · Last verified
Problem
Given an array of integers nums and an integer target, return indices of two numbers that sum to target. Exactly one solution exists and the same element cannot be used twice.
Constraints
2 <= nums.length <= 10^4-10^9 <= nums[i] <= 10^9Exactly one valid answer.
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
Check every pair.
- 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
Map complement to index while scanning once.
- Time
- O(n)
- Space
- O(n)
function twoSum(nums, target) {
const map = new Map();
for (let i = 0; i < nums.length; i++) {
const c = target - nums[i];
if (map.has(c)) return [map.get(c), i];
map.set(nums[i], i);
}
return [];
}Tradeoff:
Adyen-specific tips
Adyen interviewers expect crisp hash-map fluency since amount-to-merchant routing tables underpin every payment lookup in their core processing path.
Solve it now
Free. No sign-up. Python and JavaScript run instantly in your browser.