今際の国の呵呵君
Wednesday, April 25, 2018
[LeetCode]Palindromic Substrings
直观的做法就是以每个点为中心向两边展开,然后统计所有回文的个数。时间复杂度最差O(n^2),常数空间,代码如下:
如果是要记录所有的回文的话,我们是没有更快的办法的,因为无论如何我们都要扫到每一个回文。但是统计总数的话就不一样了,我们之前在这篇
文章
介绍过manacher算法,我们可以线性时间求最长回文。算法中我们用数组r[i]记录以i位置为中心的回文的最大半径,根据这个半径,我们自然也可以求出以i位置为中心的回文有多少个。时间复杂度O(n),空间复杂度O(n),代码如下:
No comments:
Post a Comment
Newer Post
Older Post
Home
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment