Given an array of integers nums and an integer target, return the indices of the two numbers that add up to target. Each input has exactly one solution.
Walk once, remembering value → index. For each number, check whether its complement was already seen.
1function twoSum(nums: number[], target: number): number[] {2const seen = new Map<number, number>();3for (let i = 0; i < nums.length; i++) {4const need = target - nums[i];5if (seen.has(need)) {6return [seen.get(need)!, i];7}8seen.set(nums[i], i);9}10return [];11}
Create an empty map from value → index.
Space: play/pause · ←/→: step