博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
九度oj 题目1252:回文子串
阅读量:4438 次
发布时间:2019-06-07

本文共 1275 字,大约阅读时间需要 4 分钟。

题目描述:

输入一个字符串,输出该字符串中对称的子字符串的最大长度。

比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。

输入:

存在多组数据,每组数据一行字符串,长度不大于100。

输出:

输出回文子串的最大长度。

样例输入:
google
样例输出:
4
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 char temp[102]; 8 int cnt[102]; 9 10 int findHJ(int n, int len) {11 int i = n-1, j = n+1;12 int ans = 1;13 while(i >= 0 && j < len) {14 if(temp[i] != temp[j]) {15 return ans;16 }17 i--;18 j++;19 ans = ans + 2;20 }21 return ans;22 }23 24 int findHO(int n, int len) {25 if(n + 1 > len-1) {26 return 1;27 }28 if(temp[n] != temp[n+1]) {29 return 1;30 }31 int i = n-1, j = n+2;32 int ans = 2;33 while(i >= 0 && j < len) {34 if(temp[i] != temp[j]) {35 return ans;36 }37 i--;38 j++;39 ans = ans + 2;40 }41 return ans;42 }43 44 int main(int argc, char const *argv[])45 {46 while(scanf("%s",temp) != EOF){47 int len = strlen(temp);48 int max = 0;49 for(int i = 0; i < len; i++) {50 int temp = findHJ(i, len);51 if(max < temp) {52 max = temp;53 }54 temp = findHO(i, len);55 if(max < temp) {56 max = temp;57 }58 }59 printf("%d\n",max);60 }61 62 return 0;63 }

 

转载于:https://www.cnblogs.com/jasonJie/p/5769652.html

你可能感兴趣的文章
chapter02 svm对手写体数字的数码图像进行识别
查看>>
python编码问题 decode与encode
查看>>
hihocoder 1582 : Territorial Dispute (计算几何)(2017 北京网络赛E)
查看>>
files list file for package 'xxx' is missing final newline
查看>>
大数据——zookeeper分布式集群管理工具的学习与使用
查看>>
学习JAVA所需的东西
查看>>
dom4j api 详解--XPath 节点详解
查看>>
java正则表达式基础知识(转)
查看>>
使用babel
查看>>
怎么画流程图(转)
查看>>
brewMacOS包管理器
查看>>
FF和IE内容不透明,字体透明。
查看>>
windows下python双系统安装
查看>>
递归--二叉树上的相同点
查看>>
Math数学函数
查看>>
1316 文化之旅 2012年NOIP全国联赛普及组
查看>>
左移运算符
查看>>
svn的分支
查看>>
爬虫必备—性能相关(异步非阻塞)
查看>>
H5 65-清除浮动方式一
查看>>