dp · rows = "horse" (+ ∅), cols = "ros" (+ ∅)
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
·
2-D tabulation
▸1dp = (m+1) × (n+1) grid2dp[i][0] = i (delete all) ; dp[0][j] = j (insert all)3for i in 1..m: for j in 1..n:4 if word1[i−1] == word2[j−1]:5 dp[i][j] = dp[i−1][j−1]6 else:7 dp[i][j] = 1 + min(dp[i−1][j−1], dp[i−1][j], dp[i][j−1])89return dp[m][n]
state
- word1"horse"
- word2"ros"
- statedp[i][j] = edits word1[:i] → word2[:j]