Alex_tz307

Edit Distance

Sep 19th, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. class Solution {
  2.     public:
  3.         int editDistance(string s, string t) {
  4.             int N = s.size(), M = t.size();
  5.             vector < vector < int > > dp(N + 1, vector < int >(M + 1));
  6.             for(int i = 0; i <= N; ++i)
  7.                 for(int j = 0; j <= M; ++j) {
  8.                     if(i == 0) {
  9.                         dp[i][j] = j;
  10.                         continue;
  11.                     }
  12.                     if(j == 0) {
  13.                         dp[i][j] = i;
  14.                         continue;
  15.                     }
  16.                     if(s[i - 1] == t[j - 1])
  17.                         dp[i][j] = dp[i - 1][j - 1];
  18.                     else
  19.                         dp[i][j] = min(dp[i - 1][j - 1], min(dp[i][j  - 1], dp[i - 1][j])) + 1;
  20.                 }
  21.             return dp[N][M];
  22.         }
  23. };
Advertisement
Add Comment
Please, Sign In to add comment