Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- #include<math.h>
- using namespace std;
- int EditDistance(char str1[],char str2[],int m,int n){
- if(m==0)
- return n;
- if(n==0)
- return m;
- int arr[m+1][n+1];
- for(int i=0;i<=m;i++){
- for(int j=0;j<=n;j++){
- if(i==0 || j==0){
- arr[i][j]=max(i,j);
- }
- else{
- if(str1[i-1]==str2[j-1])
- arr[i][j]=arr[i-1][j-1];
- else
- arr[i][j]=1+min(arr[i][j-1],min(arr[i-1][j-1],arr[i-1][j]));
- }
- }
- }
- return arr[m][n];
- }
- int main(){
- char str1[]="sunday";
- char str2[]="saturday";
- int m=strlen(str1);
- int n=strlen(str2);
- cout<<EditDistance(str1,str2,m,n);
- return 0;
- }
Add Comment
Please, Sign In to add comment