小白书 3.3 例题3-4回文串
来源:互联网 发布:linux cp同时几个文件 编辑:程序博客网 时间:2024/05/09 16:10
DP的简单题,代码如下:
#include <iostream>
#include<cstdio>
#include<cstring>
#include<ctype.h>//字符串处理函数头文件
using namespace std;
#define maxn 5000+10
char buf[maxn],s[maxn];//buf[]读入数据,s[]读入大写字母
int p[maxn];//p[]记录位置
int main()
{
int n,m=0,max=0,x,y;
int i,j;
fgets(buf,sizeof(s),stdin);//标准输入
n=strlen(buf);
for(i=0;i<n;i++)
if(isalpha(buf[i]))//如果是字母
{
p[m]=i;
s[m++]=toupper(buf[i]);
}
for(i=0;i<m;i++)
{
for(j=0;i-j>=0&&i+j<m;j++)//字母个数为奇数
{
if(s[i-j]!=s[i+j]) break;
if(j*2+1>max)
{
max=j*2+1;//及时更新max的值
x=p[i-j];//起始位置
y=p[i+j];//终了位置
}
}
for(j=0;i-j>=0&&i+j+1<m;j++)//字母个数为偶数
{
if(s[i-j]!=s[i+j+1]) break;
if(j*2+2>max)
{
max=j*2+2;
x=p[i-j];
y=p[i+j+1];
}
}
}
for(i=x;i<=y;i++)//输出原字符串
printf("%c",buf[i]);
cout<<endl;
return 0;
}
- 小白书 3.3 例题3-4回文串
- 例题3-4 最长回文子串
- 算法竞赛入门经典 例题 3-4 回文串
- 例题3-3回文词镜像词
- 例题3-3回文串与镜像串的判定
- 例题3-3 回文词(Palindromes)
- 例题3-3 回文词 UVa401
- 例题7.1.4,双基回文数
- 例题9-7 划分成回文串 UVa11584
- UVa 11548 例题9-7划分回文串
- 紫书 p48 例题 回文词
- 例题:回文词(UVa401)
- 例题3-4
- 例题3-4
- 例题3-4
- 例题4-3
- 例题9-7 UVa11400 Partitioning by Palindromes(DP+回文串)
- 《算法竞赛入门经典2ndEdition 》例题3-3 回文词(Palindromes, Uva401)
- 关于Android引导画面的多分辨率适配
- 我没有很想你我只是想起那个爱过你的我
- Security in MySQL
- 2014湘潭全国邀请赛I题 Intervals /POJ 3680 / 在限制次数下取有权区间使权最大/小问题(费用流)
- C++ primer(第五版) 练习 3.17 个人code
- 小白书 3.3 例题3-4回文串
- UVA 133 The Dole Queue
- 根据安卓应用包名获取应用的详细信息
- 不会再让自己陷入这样的困境
- Slave_SQL_Running: No mysql同步故障解决方法
- 【HDU】3938 Portal 并查集
- sqlite性能优化借鉴
- LeetCode Plus One
- inflate包含gone布局的Layout 性能是比较差的