---
# System prepended metadata

title: 72. Edit Distance
tags: [DP]

---

---
title: 72. Edit Distance
tags: DP
description: share source code.
---

# 72. Edit Distance

```java=
class Solution {
    
    int INF = Integer.MAX_VALUE/2;
    
    public int minDistance(String word1, String word2) {
        int n = word1.length();
        int m = word2.length();
        
        int dp[][] = new int [n + 1][m + 1];
         for(int i = 0; i <= n; i++){
            Arrays.fill(dp[i], INF);   
         }    
     
        for(int i = 0; i <= n; i++){
            dp[i][0] = i;
        }
        
        for(int j = 0; j <= m; j++){
            dp[0][j] = j;
        }
        
        for(int i = 1 ; i <= n; i++){
           for(int j = 1 ; j <= m; j++){
             
               
              if(word1.charAt(i - 1) == word2.charAt(j - 1)){
                    dp[i][j] = Math.min(dp[i][j], dp[i - 1][j - 1] ) ;
              }else{
                   dp[i][j] = Math.min(dp[i][j], dp[i][j - 1]+ 1) ; 
                   dp[i][j] = Math.min(dp[i][j], dp[i -1][j]+ 1) ;
                   dp[i][j] = Math.min(dp[i][j], dp[i -1][j - 1] + 1);
              }
           }  
        }
        
        return dp[n][m];
    }
}
```

