Longest Palindromic Substring:Given a stringS, find the longest palindromic substring inS.You may assume that the maximum length ofSis 1000, and there...
分类:
其他好文 时间:
2014-06-21 07:36:18
阅读次数:
227
昨天做了leetcode里的 Longest Palindromic Substring ,一开始用动态规划O(N^2),不管怎么改都超时了。。。于是在大神的帮助下,找到了传说中的Manacher算法,居然能在O(n)内求出来,瞬间给跪了。
本屌认为,这个算法主要是充分的利用了以前的匹配的结果,来起到了降低时间复杂度的作用,这点跟KMP算是有点类似。在预处理时有个小技巧就是将第0,1为设...
分类:
其他好文 时间:
2014-06-20 12:15:22
阅读次数:
305
题目:Given a string s, partition s such that every substring of the partition is a palindrome. Return all possible palindrome partitioning of s.
解题思路:
回文划分,题目意思是给一个字符串,找出将字符串划分为一系列回文子串的各种可能组合。例如,一个子串“aab“,你需要返回["aa","b"],["a","a","b"]。这个题目的解法也是非常的典型---循环加递归,...
分类:
其他好文 时间:
2014-06-09 23:24:11
阅读次数:
256
Description
顺序和逆序读起来完全一样的串叫做回文串。比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆序为“cba”,不相同)。
输入长度为n的串S,求S的最长双回文子串T,即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。Input一行由小写英...
分类:
其他好文 时间:
2014-06-07 05:29:34
阅读次数:
195
给你一个整数m 和一个字符串s
输出一个字符串,使得这个字符串的字典序大于s(且是最小的字典序)且满足不存在长度大于等于m的回文子串...
分类:
其他好文 时间:
2014-06-05 00:21:52
阅读次数:
288
一般求回文子串用的是Manacher算法,但是该算法只是简单判断回文,该题目中需要去除掉空格和标点,所以,自己用了动态规划(加剪枝,取出空号等)。
代码如下:
//最长回文子串 动态规划
#include
#include
#include
#include //for tolower
#define MAXSIZE 5000
char str[MAXSIZE];//="Confucius...
分类:
其他好文 时间:
2014-05-21 16:00:30
阅读次数:
211
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3068
关于算法的教程 推荐这个:http://blog.csdn.net/ggggiqnypgjg/article/details/6645824 注意:我推荐的这篇博客里说的那个代码有bug,我觉得没问题,而是博主在用的时候写错了,博主举得反例我都过了 而且hdu 3068也过了
最开始是用...
分类:
其他好文 时间:
2014-05-18 08:26:39
阅读次数:
266
【题目】
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.
【题意】
题意是找出字符串S中最长回文子串,S最长为1000,保证有唯一解
【思路】
原字符串用特殊字符#间隔,如下所示:
#a...
分类:
其他好文 时间:
2014-05-15 03:31:25
阅读次数:
299
问题描述:给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](0求一个字符串的最长回文子串和最长重复子串。
算法讲解:设next[i]为满足B[i..i+z-1]==B[0..z-1]的最大的z值(也就是B的自身匹配)。设目前next[0..lenB-1]与ex[0..i-1]均已求出,要用它们来求ex[i]的值。
设p为目前A串中匹配到的最远位置...
分类:
其他好文 时间:
2014-05-08 16:10:14
阅读次数:
301
输入一个字符,求出其中最长的回文子串。子串的含义是:在元串中连续出现的字符串片段。回文的含义是:正看和倒看相同,如abba和yyxyy,在判断时候应该忽略所有的空格和标点符号,且忽略大小写,但输出应该保持原样,输入的字符长度不超过5000,且占据单独一行,输出最长的回文子串
如有多个,输出,起始位置最靠左的
样例输入:Confuciuss say:Mandam,I ˊm Adam.
样例输出...
分类:
其他好文 时间:
2014-05-06 23:10:46
阅读次数:
332