刚学的小白在解这道题之前,如果没有接触动态规划的话,我建议去小破站看下动态规划视频,学习它的思路是怎样的,这里推荐动画版的,看的比较明白:
还看不懂的话,先去看看动态规划的背包问题,学习这道题的动态规划思维,然后进行思维转移去解决其他的题目:
Get到动态规划解题思路,可以在纸上把代码的思路大概列一下,然后尝试把自己的代码思路一步一步打出来,哪怕一两个小时,你会收获很多,下面是我自己打的,仅供参考(如果哪里还需要优化,请大佬们指正评论):
let langestPilindrome = s=>{
let i,j;//创建两个变量,用于遍历数组
let longestplr="";//创建一个空字符串,用于存放最大回文串
/*二维数组dp存放字符串的状态,如果是回文串,值得为true,否则为false。二维的数组的行列数取决于字符串的长度。*/
//二维数组的创建
let dp=