Problem of the day
You are given two strings 'S' and 'T' of lengths 'N' and 'M' respectively. Find the "Edit Distance" between the strings.
Edit Distance of two strings is the minimum number of steps required to make one string equal to the other. In order to do so, you can perform the following three operations:
1. Delete a character
2. Replace a character with another one
3. Insert a character
Note:
Strings don't contain spaces in between.
The first line of input contains the string 'S' of length 'N'.
The second line of the input contains the String 'T' of length 'M'.
Output format:
The only line of output prints the minimum "Edit Distance" between the strings.
Note:
You do not need to print anything; it has already been taken care of. Just implement the given functions.
0 <= N <= 10 ^ 3
0 <= M <= 10 ^ 3
Time Limit : 1sec
abc
dc
2
In 2 operations we can make the string T to look like string S. First, insert the character 'a' to string T, which makes it "adc".
And secondly, replace the character 'd' of the string T with 'b' from the string S. This would make string T to "abc" which is also the string S. Hence, the minimum distance.
whgtdwhgtdg
aswcfg
9
Try to think of a recursive approach and formulate the recurrence relation. Try performing the operations as required.
O(3 ^ (N * M)), Where N is the size of the first string and M is the size of the second string.
Since we are making 3 recursive calls each time, therefore the time complexity is O(3 ^ (N * M)).
O(N + M), Where N is the size of the first string and M is the size of the second string.
Since we are making recursive calls that require the recursion stack. Therefore the space complexity is O(N + M).