// Edit Distance — HARD
// Category: dynamic-programming
Given two strings `word1` and `word2`, return the **minimum number of operations** required to convert `word1` to `word2`.
You have three operations:
- **Insert** a character
- **Delete** a character
- **Replace** a character
Example: word1 = "horse", word2 = "ros"
Output: 3