- 博客(3)
- 收藏
- 关注
原创 Manacher(马拉车)算法 Java语言实现 学习笔记
最坏的情况下时间复杂度为O(n^2),空间复杂度为O(n);时间相当于动态规划的性能提升了不少。特点:线性时间内查找字符串中任意位置开始的所有回文子串。只要给头尾插入不一样的字符,这样每次遍历到这个特殊字符的时候,就直接结束判断。2.每次都要分别解决奇数和偶数长度的回文串。在每个字符间插入'#'字符,使得每次只用解决偶数的问题。问题:1.回文相互重叠的时候,会有大量的重复计算。2.解决头尾判断越界问题。1.解决奇数偶数问题。3.解决两层嵌套循环。
2024-05-05 19:54:35
592
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人