1. Two Sum
easyAsked at DuolingoGiven an array of integers and a target, return indices of two numbers that sum to target.
By Alex Chen, Founder, InterviewChamp.AI · Last verified
Problem
Given an array of integers nums and an integer target, return the indices of the two numbers such that they add up to target. You may assume each input has exactly one solution 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
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 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 seen numbers in a map; for each value check if complement exists. One pass, constant lookup.
- 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:
Duolingo-specific tips
Duolingo values readable solutions that you could imagine running inside a spaced-repetition scheduler or lesson scorer—name variables clearly and explain the hash-map invariant as you write.
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 Duolingo interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →