Task
Build the canonical Two Sum: `two_sum(nums, target)` returns the two indices summing to target (or `[-1, -1]` if no pair):
- Use a dict `seen` mapping value β index, so each scan is O(1) lookup.
- Return indices in the order you found them (smaller index first).
- No pair β `[-1, -1]` (never raise).
- Don't use the SAME index twice (e.g. for `[3], target=6`, do NOT return `[0,0]`).
LeetCode #1 β the most-asked interview question on Earth.