背景
最近开始研究算法,于是在leetcode上做算法题,第五题Longest Palindromic Substring便是关于回文子串的。
什么是回文字串
回文字符串是指将该字符串前后颠倒之后和该字符串一样的字符串。例如:a,aaaa,aba,abba…
最长回文子串
要求最长回文子串,就需要遍历每一个子串,时间复杂度是O(N²);判断字串是不是回文,时间复杂度是...
分类:
编程语言 时间:
2015-08-18 10:18:51
阅读次数:
172
Problem I:判断数字是不是回文字符串形式Determine whether an integer is a palindrome. Do this without extra space.click to show spoilers.Some hints:Could negative int...
分类:
其他好文 时间:
2015-08-16 13:47:58
阅读次数:
151
Manacher算法
【题目】
给定一个字符串str,返回str中的最长回文子串的长度。
【举例】
str=“123”。其中的最长回文子串“1”或者“2”或者“3”,所以返回1。
str=“abc1234321ab”。其中的最长回文子串“1234321”,所以返回7。
【进阶题目】
给定一个字符串str,想通过添加字符的方式使得str整体都变成回文字符串,但要求只能在str的末尾添加...
分类:
编程语言 时间:
2015-08-15 16:39:59
阅读次数:
146
1、题目名称 Valid Palindrome(回文字符串) 2、题目地址 https://leetcode.com/problems/valid-palindrome/ 3、题目内容 英文:Given a string, determine if it is a palindrome, considering only alphanume...
分类:
其他好文 时间:
2015-08-06 00:43:29
阅读次数:
121
题意:给你一个字符串问能否拆分为三个回文字符串?能就输出yes,否则输出no。知识补充:最长回文子串算法(Manacher算法):求解最长回文子串的线性时间复杂度算法,主要是通过中心扩展的方法极大地避免了重复计算。实现如下:
为了避免对字符串奇偶数的讨论,先对字符串做预处理如下:
规则为在字符间和两边插入'#'字符,为了避免越界处理,最两边插入'^'和'$'字符。
原本字符串为:asd
预处理后为:...
分类:
其他好文 时间:
2015-08-04 13:37:34
阅读次数:
121
题意:
给定字符串,求字符串中的最长回文序列
解题思路:
manacher 算法
时间复杂度:O(N)
代码:
#include
#include
#include
#define MAXN 110010
using namespace std;
char b[MAXN],a[MAXN<<1];
int p[MA...
分类:
编程语言 时间:
2015-08-02 06:26:31
阅读次数:
146
LeetCode 之 Valid Palindrome,本文给出详细算法思想与源码实现。...
分类:
其他好文 时间:
2015-07-22 13:24:12
阅读次数:
104
地址: http://acm.nyist.net/JudgeOnline/problem.php?pid=37
分类:
其他好文 时间:
2015-07-03 22:03:11
阅读次数:
178
题目描述:
给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的。
输入:
输入包括一行字符串,其长度不超过1000。
输出:
可能有多组测试数据,对于每组数据,如果是回文字符串则输出"Yes!”,否则输出"No!"。
样例输入:
hellolleh
helloworld
样例输出:
Yes!
No!
C++ 代码...
分类:
其他好文 时间:
2015-06-27 09:57:49
阅读次数:
137
感觉很坑的一道题!!!想了很多解法都是错的,百度了一下解法,真是醉了。。。
解法:把字符串反过来,求最长公共子序列
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述
所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符...
分类:
其他好文 时间:
2015-06-03 15:56:07
阅读次数:
93