Edit Distance - Problem

Given two strings word1 and word2, return the minimum number of operations required to convert word1 to word2.

You have the following three operations permitted on a word:

  • Insert a character
  • Delete a character
  • Replace a character

This problem is also known as the Levenshtein Distance.

Input & Output

Example 1 — Basic Transformation
$ Input: word1 = "horse", word2 = "ros"
Output: 3
💡 Note: horse → rorse (replace 'h' with 'r') → rose (remove 'r') → ros (remove 'e'). Total: 3 operations.
Example 2 — Insert Operations
$ Input: word1 = "intention", word2 = "execution"
Output: 5
💡 Note: intention → inention (delete 't') → enention (replace 'i' with 'e') → exention (replace first 'n' with 'x') → exection (replace 'n' with 'c') → execution (insert 'u'). Total: 5 operations.
Example 3 — Edge Case Empty String
$ Input: word1 = "abc", word2 = ""
Output: 3
💡 Note: Delete all 3 characters from 'abc' to get empty string. Total: 3 operations.

Constraints

  • 0 ≤ word1.length, word2.length ≤ 500
  • word1 and word2 consist of lowercase English letters

Visualization

Tap to expand
Edit Distance: Transform "horse" to "ros"Source: horseTarget: rosReplace h→rDelete rDelete ehorse → rorserorse → roserose → rosMinimum Operations: 3Each operation has cost 1
Understanding the Visualization
1
Input Strings
Compare characters from both strings
2
Apply Operations
Use insert, delete, or replace operations
3
Minimum Cost
Find path with minimum total operations
Key Takeaway
🎯 Key Insight: Each position in the DP table represents the minimum cost to transform a prefix of word1 into a prefix of word2
Asked in
Google 45 Facebook 38 Microsoft 32 Amazon 28
425.0K Views
High Frequency
~25 min Avg. Time
8.9K Likes
Ln 1, Col 1
Smart Actions
💡 Explanation
AI Ready
💡 Suggestion Tab to accept Esc to dismiss
// Output will appear here after running code
Code Editor Closed
Click the red button to reopen