怪物奇妙物语

宇宙无敌超级美少男的怪物奇妙物语

首页 新随笔 联系 管理
  819 随笔 :: 0 文章 :: 2 评论 :: 16万 阅读
const countSubstrings = (s) => {
const strLen = s.length;
let numOfPalindromicStr = 0;
// 初始化一个二维数组
let dp = Array.from(Array(strLen), () => Array(strLen).fill(false));
//对于动态规划问题,首先要看清两层for循环的结构,看看遍历的是哪些区域,哪些内容
for (let j = 0; j < strLen; j++) {
for (let i = 0; i <= j; i++) {
// 外层的if是个分支结构,因为这个默认都是false,所以else的情况就是不用写
if (s[i] === s[j]) {
// 内层的if也是分支结构,主要用来将两种情况进行分流,对两种情况进行不同的逻辑处理
if (j - i < 2) {
dp[i][j] = true;
} else {
dp[i][j] = dp[i + 1][j - 1];
}
// 对回文子串的个数进行计数
numOfPalindromicStr += dp[i][j] ? 1 : 0;
console.log(dp);
}
}
}
return numOfPalindromicStr;
};
const res = countSubstrings("cabac");
console.log(res);
posted on   超级无敌美少男战士  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
历史上的今天:
2021-10-20 vu_vue3.0LearnNote_network_network
2021-10-20 vu_vue3.0LearnNote
点击右上角即可分享
微信分享提示