21. Two Sum
easyAsked at AppleFind two indices whose values sum to a target — Apple uses this warmup to see if you reach for the right data structure immediately, reflecting the precision-first engineering culture behind Core Data's element-lookup caches.
By Alex Chen, Founder, InterviewChamp.AI · Last verified
Problem
Given an integer array nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that 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]Explanation: nums[0] + nums[1] = 2 + 7 = 9
Example 2
nums = [3,2,4], target = 6[1,2]Approaches
1. Brute force
Check every pair of indices with two nested loops.
- Time
- O(n^2)
- Space
- O(1)
function twoSum(nums, target) {
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 in a map; for each element check if the complement already exists. Single pass, O(1) 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:
Apple-specific tips
Apple interviewers specifically probe whether you jump to the hash-map solution without prompting — defaulting to O(n^2) is a flag. Verbalize the space-time tradeoff; Apple hardware teams internalize memory budgets and they reward the same mindset in software interviews. Tie it to real context: lookups in Core Data fetch batches or UICollectionView cell reuse maps follow exactly this complement-lookup pattern.
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 Apple interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →