All problems
HardDp

Edit Distance

googleamazonmetamicrosoftbloomberglinkedinuber

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

Example 1:

Input: word1 = "horse", word2 = "ros"
Output: 3
Explanation:
horse -> rorse (replace 'h' with 'r')
rorse -> rose (remove 'r')
rose -> ros (remove 'e')

Example 2:

Input: word1 = "intention", word2 = "execution"
Output: 5
Explanation:
intention -> inention (remove 't')
inention -> enention (replace 'i' with 'e')
enention -> exention (replace 'n' with 'x')
exention -> exection (replace 'n' with 'c')
exection -> execution (insert 'u')

Example 3:

Input: word1 = "", word2 = "abc"
Output: 3
Explanation: Insert 'a', 'b', and 'c' into the empty string.

Examples

Example 1

Input: word1 = "horse", word2 = "ros"

Output: 3

Explanation: horse -> rorse (replace 'h' with 'r') -> rose (remove second 'r') -> ros (remove 'e'). Three operations total.

Example 2

Input: word1 = "intention", word2 = "execution"

Output: 5

Explanation: Five operations: remove 't', replace 'i' with 'e', replace first 'n' with 'x', replace second 'n' with 'c', insert 'u'.

Constraints

  • -0 <= word1.length, word2.length <= 500
  • -word1 and word2 consist of lowercase English letters

Optimal Complexity

Time

O(m * n)

Space

O(m * n)

Practice this problem with an AI interviewer

TechInView conducts a full voice mock interview — the AI asks clarifying questions, evaluates your approach, watches you code, and scores you on 5 dimensions. Just like a real FAANG interview.

Start a free interview