Edit Distance LeetCode solution in JavaScript

1
var minDistance = function (word1, word2) {
2
const m = word1.length;
3
const n = word2.length;
4

5
const memo = new Array(m).fill().map(() => new Array(n));
6
const dfs = (i = m - 1, j = n - 1) => {
7
if (i < 0 && j < 0) return 0;
8
if (i < 0 && j >= 0) return j + 1;
9
if (i >= 0 && j < 0) return i + 1;
10
if (memo[i][j] !== undefined) return memo[i][j];
11

12
if (word1[i] === word2[j]) {
13
return (memo[i][j] = dfs(i - 1, j - 1));
14
}
15

16
return (memo[i][j] =
17
1 + Math.min(...[dfs(i, j - 1), dfs(i - 1, j), dfs(i - 1, j - 1)]));
18
};
19

20
return dfs();
21
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0