← 返回目录

回文串

第 25 / 42 卷日期:

回文串

  1. 区分是求回文子序列(不连续)还是回文子串(连续)
  2. 这个类型题中的 dp 数组,需要把一个字符串从两个维度来分析,展成一个二维的,有点不太习惯,需要画图

做题适应一下。

  1. 这个二维图推断的时候,都是左下角的部分不参与,最后只有右上角参与了判断。
  2. 这个题型的 dp 数组,是把两个维度当做一个闭区间进行判断,因为是闭区间,所以天生就有 i <= j

(1) 判断回文子串时,设为 bool 类型,判断区间内是否是回文子串 (2) 判断回文子序列时,设为 int 类型,用来存储区间内的最长回文子序列,这里的初始化也很特别,i=j 时初始化

为 1,其余为0

  1. dp 数组的遍历顺序也很巧妙

(1) 回文子串时,i 是从 s.size()-1 到 0,j 是从 i 到 s.size()-1 (2) 回文子序列时,i 是从 s.size()-1 到 0,j 是从 i+1 到 s.size()-1,这里为啥是 i+1 呢,因为 i=j 已经初始化时赋值

了,我们就是要根据这个初始化来进行接下来的所有推理呀

思维导图

图 30-1
图 30-1
全站分卷索引 · 42 卷
  1. 1代码随想录知识星球精华(最强八股文)第五版(算法篇)
  2. 2找出所有子集的异或总和再求和
  3. 3哈希表
  4. 4哈希冲突
  5. 5红黑树与AVL树
  6. 6平衡二叉树(AVL树)
  7. 7将有序数组转换为二叉搜索树
  8. 83. 分割(组合问题)
  9. 9方法论
  10. 10509. 斐波那契数
  11. 1162. 不同路径
  12. 1296. 不同的二叉搜索树
  13. 13322. 零钱兑换
  14. 14爬楼梯
  15. 15背包小总结 (01背包、完全背包)
  16. 16子序列问题
  17. 17674. 最长连续递增序列
  18. 18115. 不同的子序列
  19. 19总结
  20. 20技巧总结
  21. 21时间序列模型
  22. 22区间DP模型
  23. 23664. 奇怪的打印机
  24. 24编辑距离
  25. 25回文串
  26. 26DP递推公式总结
  27. 27排序算法
  28. 28其他算法
  29. 294. 分别用递归和非递归方式实现二叉树先序、中序和后序遍历
  30. 302. TOP N问题
  31. 313. 分布式的TOP N问题
  32. 322. Astar数据结构 + 公式
  33. 334. 代码实现
  34. 345. 总体代码
  35. 35堆排序
  36. 36单源最短路
  37. 37思维导图
  38. 38链表
  39. 39回溯
  40. 40贪心
  41. 41动态规划
  42. 42排序