题目描述给定一个字符串,求它的最长回文子串的长度。分析与解法最容易想到的办法是枚举所有的子串,分别判断其是否为回文。这个思路初看起来是正确的,但却做了很多无用功,如果一个长的子串包含另一个短一些的子串,那么对子串的回文判断其实是不需要的。同时,奇数和偶数长度还要分别考虑。Manacher算法可以解决...
分类:
编程语言 时间:
2015-08-26 23:53:24
阅读次数:
159
题目大意:有一个串(全部由小写字母组成),现在要把它分成两部分,如果分开后的部分是回文串就计算出来它的价值总和,如果不是回文的那么价值就是0,最多能得到的最大价值。分析:首先的明白这个最大价值有可能是负数,比如下面:-1 -1 -1..... aaa这样的情况不管怎么分,分出来的串都是回文串,所以得...
分类:
其他好文 时间:
2015-08-21 14:58:43
阅读次数:
152
欢迎关注__Xiong的博客: http://blog.csdn.net/acmore_xiong?viewmode=list
最长回文
Time Limit: 4000/2000 MS (Java/Others) Memory L...
分类:
其他好文 时间:
2015-08-21 07:10:13
阅读次数:
132
题目:求一个字符串的最长回文子串思路:1、暴力枚举最容易想到的就是暴力破解,列举每一个子串,然后根据回文的定义判断是不是回文,找到最长的那个。求每一个子串的时间复杂度为O(N^2),判断子串是不是回文的时间复杂度为O(N),所以时间复杂度为O(N^3)。2、动态规划回文字符串的子串也是回文,比如P[...
分类:
编程语言 时间:
2015-08-20 22:28:40
阅读次数:
262
关于这道题,我的第一想法是针对回文串的特性,对字符串的每个字符(奇数回文串)或者每两个字符(偶数回文串)向两边开始扩展分析。在这个过程中不断发现最新的最长回文串。显然这个算法的复杂度为O(n^2) class?...
分类:
其他好文 时间:
2015-08-20 11:00:59
阅读次数:
171
字符串问题
1.左旋问题
2.字符包含问题
3.字符匹配KMP
4.编辑距离
5.最大回文子串,公共子串
6.最大公共子序列,回文子序列,上升子序列
7.基本字符串函数实现
8.大整数的加,减,乘,除,模
9.合法回文,数字串
10.正则匹配,最长公共前缀,简化路经
1) 左旋字符串
定义字符串的左旋转操作:把字符串前面的若干个字符移动到字符串的尾部,如把字符串ab...
分类:
其他好文 时间:
2015-08-20 06:48:58
阅读次数:
385
/**给定一个长度为N的串,求最长回文子串。*/ function returnStr(str){ console.log(str); var arr = [],s = ""; for(var i=0;il){ l = val.length; ...
分类:
编程语言 时间:
2015-08-20 01:16:24
阅读次数:
172
背景
最近开始研究算法,于是在leetcode上做算法题,第五题Longest Palindromic Substring便是关于回文子串的。
什么是回文子串
回文字符串是指将该字符串前后颠倒之后和该字符串一样的字符串。例如:a,aaaa,aba,abba…
最长回文子串
要求最长回文子串,就需要遍历每一个子串,...
分类:
编程语言 时间:
2015-08-19 16:57:00
阅读次数:
171
这里先记录一下,方便以后复习用。
引子:给定一个字符串str,让你求出最长的回文子串的长度。...
分类:
其他好文 时间:
2015-08-18 14:17:56
阅读次数:
100
题意:给出一个字符串,有两种操作,一个是p a b,问字符串从位置a到位置b的子串是否是一个回文子串,另一个操作 c a b,把字符串位置a的字符替换为b。
题解:因为字符串长度为1e5且问的次数也有1e5,所以暴力肯定是会超时的,然后考虑用树状数组维护字符串的hash值来解,两个操作分别用正反方向区间比对哈希值和单点修改。
#include
#include
#include
#def...
分类:
编程语言 时间:
2015-08-18 14:14:13
阅读次数:
153