thanbaiks
Senior Member
JavaScript:
var minimumDeleteSum = function(s1, s2) {
const m = s1.length, n = s2.length;
const memo = [];
const go = (i, j) => memo[i * (n + 1) + j] ??= (() => {
if (i === 0 && j === 0) {
return 0;
}
if (i === 0) {
return go(i, j - 1) + s2.charCodeAt(j - 1);
}
if (j === 0) {
return go(i -1, j) + s1.charCodeAt(i - 1);
}
const u = s1.charCodeAt(i-1), v = s2.charCodeAt(j-1);
if (u === v) {
return go(i-1, j-1);
}
return Math.min(
go(i-1, j) + u,
go(i, j-1) + v,
);
})();
return go(m, n);
};

, khởi động đầu tháng bằng 1 bài back tracking 

)