Minimum ASCII Delete Sum for Two Strings LeetCode solution in JavaScript

1
var minimumDeleteSum = function (s1, s2) {
2
const len1 = s1.length,
3
len2 = s2.length;
4
const dp = [...Array(len1 + 1)].map(() => Array(len2 + 1).fill(0));
5

6
for (let i = 1; i <= len1; i++) {
7
dp[i][0] = dp[i - 1][0] + s1.charCodeAt(i - 1);
8
}
9

10
for (let j = 1; j <= len2; j++) {
11
dp[0][j] = dp[0][j - 1] + s2.charCodeAt(j - 1);
12
}
13

14
for (let i = 1; i <= len1; i++) {
15
for (let j = 1; j <= len2; j++) {
16
if (s1[i - 1] == s2[j - 1]) dp[i][j] = dp[i - 1][j - 1];
17
else {
18
const del1 = s1.charCodeAt(i - 1) + dp[i - 1][j];
19
const del2 = s2.charCodeAt(j - 1) + dp[i][j - 1];
20
dp[i][j] = Math.min(del1, del2);
21
}
22
}
23
}
24
return dp[len1][len2];
25
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0