1. Two Sum
easyAsked at NubankGiven a transaction amounts array, find two debits that sum to a target reconciliation value.
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
Check every pair (i,j).
- 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
Store complement of each value in a map; lookup is O(1).
- 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:
Nubank-specific tips
Nubank interviewers value clean, idiomatic code and want you to articulate the integer-overflow risk when summing transaction amounts in a real ledger.
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 Nubank interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →