最长回文串
来源:互联网 发布:中世纪欧洲 知乎 编辑:程序博客网 时间:2024/05/21 07:55
/*最长回文串*/
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define MAXN 5000+10
char buf[MAXN],s[MAXN];
int p[MAXN];
using namespace std;
void huiwen()
{
int n,m=0,max=0,b=0,e=0;
fgets(buf,sizeof(s),stdin);
//cout<<"n1"<<n<<endl;
n=strlen(buf);
//cout<<"n2"<<n<<endl;
for(int i=0;i<n;i++)
{
if(isalpha(buf[i]))
{
p[m]=i;
s[m++]=toupper(buf[i]);
}
}
//判断回文
for(int i=0;i<m;i++)
{
for(int j=i;j<m;j++)
{
int ok=1;
for(int k=i;k<j;k++)
{
if(s[k]!=s[j+i-k])
{
ok=0;
}
if(ok&&j-k+1>max)
{
max=j-k+1;
b=i;
e=j;
}
}
}
}
cout<<"最长回文串长度为"<<max<<endl;
for(int i=b;i<=e;i++)
{
cout<<buf[p[i]];
}
}
int main()
{
huiwen();
return 0;
}
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define MAXN 5000+10
char buf[MAXN],s[MAXN];
int p[MAXN];
using namespace std;
void huiwen()
{
int n,m=0,max=0,b=0,e=0;
fgets(buf,sizeof(s),stdin);
//cout<<"n1"<<n<<endl;
n=strlen(buf);
//cout<<"n2"<<n<<endl;
for(int i=0;i<n;i++)
{
if(isalpha(buf[i]))
{
p[m]=i;
s[m++]=toupper(buf[i]);
}
}
//判断回文
for(int i=0;i<m;i++)
{
for(int j=i;j<m;j++)
{
int ok=1;
for(int k=i;k<j;k++)
{
if(s[k]!=s[j+i-k])
{
ok=0;
}
if(ok&&j-k+1>max)
{
max=j-k+1;
b=i;
e=j;
}
}
}
}
cout<<"最长回文串长度为"<<max<<endl;
for(int i=b;i<=e;i++)
{
cout<<buf[p[i]];
}
}
int main()
{
huiwen();
return 0;
}
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文串模版
- 最长回文子串
- 最长回文子串
- 散度(Divergence)和旋度(Curl)
- 直接用域名取网络地址操作
- mantisbt1.2.5安装配置
- SSH
- 第三章 Windows and Messages
- 最长回文串
- UVa 1042 Lots of Sunlight (枚举&最优斜率)
- 时间子系统10_hpet时钟初始化
- java插入算法
- hdu 1281 棋盘游戏 (二分图匹配)
- 机器学习算法与Python实践之(一)k近邻(KNN)
- java servlet + ajax乱码
- jQuery和struts2返回生成json数据
- DNN交互设计-Panels可收缩界面(四)