# LeetCode 1: Two Sum — Step-by-Step Visual Trace

**Easy** — Hash Table | Array | Two Pointers

## The Problem

Given an array of integers and a target sum, find the indices of two numbers in the array that add up to the target value. Each input has exactly one solution, and the same element cannot be used twice.

## Approach

Use a hash map to store previously seen numbers and their indices as we iterate through the array. For each number, calculate the complement needed to reach the target, and check if it exists in our hash map. If found, return the indices of both numbers.

**Time:** O(n) · **Space:** O(n)

## Code

```python
class Solution:
    def twoSum(self, nums: List[int], target: int) -> List[int]:
        prevMap = {}  # val -> index

        for i, n in enumerate(nums):
            diff = target - n
            if diff in prevMap:
                return [prevMap[diff], i]
            prevMap[n] = i
```

## Watch It Run

> **[Open interactive visualization](https://tracelit.dev/app?trace=0001_two-sum)**

> **Try it yourself:** Open [TraceLit](https://tracelit.dev/app?trace=0001_two-sum) and step through every line.

---

*Built with [TraceLit](https://tracelit.dev) — the visual algorithm tracer for LeetCode practice.*
