题目链接:
hihocoder 1032
代码:
#include
#include
#include
using namespace std;
char str[1000105];
int fast()
{
int start,endd,len,ans=0;
for(int i=1;str[i];i++)
{
st...
分类:
其他好文 时间:
2015-05-25 18:48:18
阅读次数:
226
题目要求: 给出一个字符串(假设长度最长为1000),求出它的最长回文子串,你可以假定只有一个满足条件的最长回文串。例如,给出字符串 "abcdzdcab",它的最长回文子串为 "cdzdc"。 解答: 这个题目的一个简单的解法就是对字符串中的每一个字符,同时向其两边延展,以找到最长回...
分类:
其他好文 时间:
2015-05-23 15:33:14
阅读次数:
160
// A O(n^2) time and O(1) space program to find the longest palindromic substring#include // A utility function to print a substring str[low..high]voi...
分类:
其他好文 时间:
2015-05-22 00:28:09
阅读次数:
110
原题链接:http://ac.jobdu.com/problem.php?pid=1528小白书上的做法,不过这个还要简单些。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 using std::max; 7 const int...
分类:
其他好文 时间:
2015-05-18 18:25:37
阅读次数:
154
题意:
给你一个字符串,求该字符串的最长回文子序列长度。
解法:
以前做过连续最长回文子串的长度就是通过构造奇数偶数长度的来做,而本题是不连续。
注意到回文字符串的特点是从左边向右边看和从右边向左边看是一样的效果,那么就可以把目标字符串s导致后产生一个t,子串中如果t和s相同那么这个子串就是回文子串,那么就转化为这两个子串求LCS(longest common subsequent)的问题了。
我的...
分类:
其他好文 时间:
2015-05-17 13:46:04
阅读次数:
123
传送门#1032 : 最长回文子串时间限制:1000ms单点时限:1000ms内存限制:64MB描述小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。这一天,他们遇到了一连串的字符串,于是小Hi就向小Ho提出了那个经典的问题:“...
分类:
编程语言 时间:
2015-05-07 16:08:26
阅读次数:
204
求字符串的最长回文子串。【思路】1.从两边开始向中间发展2.从中间开始向两边发展3.从中间开始的变体,较为复杂,详见http://articles.leetcode.com/2011/11/longest-palindromic-substring-part-ii.html【other code1-...
分类:
其他好文 时间:
2015-05-07 11:45:27
阅读次数:
129
有关回文串的问题,可能涉及到判断一个字符串是否是回文串、求最大回文子串长度或者求至少添加多少个字符使得输入字符串称为回文串。这些问题我都已经解决,为了使用方便,我把这些实现代码都粘出来了。 1 #include 2 #include 3 #include 4 5 /** 6 ...
分类:
其他好文 时间:
2015-05-01 17:16:29
阅读次数:
194
思路:子串的长度只能为奇数或偶数(长度为1的不算,直接特判)。
对于长度为奇数的子串,以22到nn之间的数为该子串的中心,然后分别向两边扩展,只要碰到一个子串扩展不满足回文的,就退出。
对于偶数长度的子串分别以1到n - 1之间的数为左,该数右边的数为右,组成两个数,然后再拿这两个数扩展。 代码:#include
#include
#include
#incl...
分类:
其他好文 时间:
2015-04-30 12:42:22
阅读次数:
139
int longestPalindromeSubSequence(string str){ int n=str.length(); vector > dp(n,vector(n)); for(int j=0;j=0;i--){ if(str[i]==str[j...
分类:
其他好文 时间:
2015-04-29 11:35:37
阅读次数:
152