1. Two Sum
easyAsked at KlarnaGiven an array of integers and a target, return indices of the 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 the indices of two numbers such that they add up to target. You may assume exactly one solution exists and you cannot use the same element twice.
Constraints
2 <= nums.length <= 10^4-10^9 <= nums[i] <= 10^9Only 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
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 one-pass
Store complement-to-index in a map and check while iterating. Single pass.
- Time
- O(n)
- Space
- O(n)
function twoSum(nums, target) {
const map = new Map();
for (let i = 0; i < nums.length; i++) {
const complement = target - nums[i];
if (map.has(complement)) return [map.get(complement), i];
map.set(nums[i], i);
}
return [];
}Tradeoff:
Klarna-specific tips
Klarna favors hash-map fluency since their BNPL installment matching and credit-risk lookups run on amount-to-account maps with strict latency budgets.
Solve it now
Free. No sign-up. Python and JavaScript run instantly in your browser.