Optimal Algorithmic Approach
2D DP. Base cases: dp[i][0]=i, dp[0][j]=j.
Core Invariants & Edge Cases
- dp[i][j] = edit distance between word1[0..i-1] and word2[0..j-1]
- If chars match: dp[i][j] = dp[i-1][j-1]
- Else: 1 + min(dp[i-1][j], dp[i][j-1], dp[i-1][j-1])