一年没刷题了。。。最近想了很多,大三了,即将毕业,后面也会各种笔试,还是把算法题补上,少看点其他方面的书。。。去年接触了hihoCoder这个平台,循序渐进的锻炼,非常不错,那先从第一周做起把。。最长回文子串的题以前做过,当初是每个点都往两边找,但是类似aaaaa这样的数据就过不了,其实只要每次找当...
分类:
其他好文 时间:
2015-09-14 23:54:48
阅读次数:
198
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3068题意:求一个字符串的最长回文子串思路:枚举子串的两个端点,根据回文串的定义来判断其是否是回文串并更新答案,复杂度O(N3)。枚举回文串的对称轴i,以及回文半径r,由i和r可确定一个子串,然后暴力判断...
分类:
编程语言 时间:
2015-09-03 20:29:56
阅读次数:
233
时间限制:1000ms单点时限:1000ms内存限制:64MB描述小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。这一天,他们遇到了一连串的字符串,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你能不能分别在这些字符串中...
分类:
其他好文 时间:
2015-09-03 16:32:15
阅读次数:
141
回文字符串,想必大家不会不熟悉吧?回文串会求的吧?暴力一遍O(n^2)很简单,但当字符长度很长时便会TLE,简单,hash+二分搞定,其复杂度约为O(nlogn), 而Manacher算法能够在线性的时间内处理出最长回文子串。让我们来看道题:http://acm.hdu.edu.cn/showpro...
分类:
编程语言 时间:
2015-09-03 16:30:49
阅读次数:
233
求解最长回文子串的方法很多,有几种常见的O(N^2)的最长回文子串求解方法,比如说枚举中心位置向两边扩展,动态规划等,大部分朋友应该都比较熟悉。
Manacher算法相比于上面两种方法,时间复杂度是O(N),空间复杂度也是O(N),可以说是快速求解决回文子串的利器。下面介绍这一算法的思想,以及在文末给与它的实现。
我们以...
分类:
编程语言 时间:
2015-08-29 15:30:18
阅读次数:
210
题目描述给定一个字符串,求它的最长回文子串的长度。分析与解法最容易想到的办法是枚举所有的子串,分别判断其是否为回文。这个思路初看起来是正确的,但却做了很多无用功,如果一个长的子串包含另一个短一些的子串,那么对子串的回文判断其实是不需要的。同时,奇数和偶数长度还要分别考虑。Manacher算法可以解决...
分类:
编程语言 时间:
2015-08-26 23:53:24
阅读次数:
159
欢迎关注__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
/**给定一个长度为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