美文网首页
5.最长回文子串

5.最长回文子串

作者: New_Learner | 来源:发表于2019-05-06 14:38 被阅读0次

    给定一个字符串,寻找其中的最长字符子串。

    思路:从中间向两侧搜索,对每个字符都从中向外扩散。特别需要注意的是,有可能会存在一种情况,就是中间的是偶数,比如assa,这样就没办法准确识别了。为了解决由回文数的中心不在字符上的情况,需要将由字符扩散变为由同一字符组成的字符串扩散。

    升级优化版本:主要思想是没必要跑完整个字符串,当跑到离尾部一定距离的字符时,就算将右边的所有字符都包含进去也不可能比最大的大。这个阈值就是字符串长度减去一半的最大长度。还有一处优化在于当中心不在字符上时,没必要在下一个地方搜索了,直接到不一样的字符上再搜索即可。例如122333221时,如果已经在第一个3上搜索过了,那么后面的3也没必要搜索了,下一个直接到2即可。

    相关文章

      网友评论

          本文标题:5.最长回文子串

          本文链接:https://www.haomeiwen.com/subject/xuproqtx.html