Skip to content

Instantly share code, notes, and snippets.

@shubham1710
Created June 14, 2020 13:55
Show Gist options
  • Save shubham1710/db2a26c99f90db520df00cda3c0e5fbf to your computer and use it in GitHub Desktop.
Save shubham1710/db2a26c99f90db520df00cda3c0e5fbf to your computer and use it in GitHub Desktop.
int minDistance(string word1, string word2) {
int m = word1.size(), n = word2.size(), pre;
vector<int> cur(n + 1, 0);
for (int j = 1; j <= n; j++) {
cur[j] = j;
}
for (int i = 1; i <= m; i++) {
pre = cur[0];
cur[0] = i;
for (int j = 1; j <= n; j++) {
int temp = cur[j];
if (word1[i - 1] == word2[j - 1]) {
cur[j] = pre;
} else {
cur[j] = min(pre, min(cur[j - 1], cur[j])) + 1;
}
pre = temp;
}
}
return cur[n];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment