Advertisement
nikunjsoni

712

Jun 16th, 2021
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.66 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int minimumDeleteSum(string s1, string s2) {
  4.         int n=s1.size(), m=s2.size();
  5.         int dp[n+1][m+1];
  6.         memset(dp, 0, sizeof dp);
  7.         for(int i=1; i<=n; i++)
  8.             dp[i][0] = dp[i-1][0]+int(s1[i-1]);
  9.         for(int i=1; i<=m; i++)
  10.             dp[0][i] = dp[0][i-1]+int(s2[i-1]);
  11.        
  12.         for(int i=1; i<=n; i++){
  13.             for(int j=1; j<=m; j++){
  14.                 if(s1[i-1] == s2[j-1])
  15.                     dp[i][j] = dp[i-1][j-1];
  16.                 else
  17.                     dp[i][j] = min(int(s1[i-1])+dp[i-1][j], int(s2[j-1])+dp[i][j-1]);
  18.             }
  19.         }
  20.         return dp[n][m];
  21.     }
  22. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement