let s = "bbaaaaaaaabgabgbagbabgababgbagbabgabababababggbabaggbaaaaaaggag", t = "bag"
const resData = new Set();
const tresData = new Set();
const sl = s.length;
const tl = t.length;
function name(z, m, res = "") {
if (m === tl) {
resData.add(res);
return;
}
for (let i = z; i < sl; i++) {
if (s[i] === t[m]) {
res += i;
if (tresData.has(res)) {
res = res.substring(0, res.length - String(i).length);
continue;
}
name(i + 1, m + 1, res);
tresData.add(res);
res = res.substring(0, res.length - String(i).length);
}
}
return;
}
name(0, 0)
console.log(resData);
leetcode 不同的子序列[记忆化递归][动态规划]
最新推荐文章于 2025-12-06 07:43:37 发布

549

被折叠的 条评论
为什么被折叠?



