L2-008. 最长对称子串
来源:互联网 发布:网吧游戏桌面软件 编辑:程序博客网 时间:2024/06/05 12:42
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&TAP s",于是你应该输出11。
输入格式:
输入在一行中给出长度不超过1000的非空字符串。
输出格式:
在一行中输出最长对称子串的长度。
输入样例:Is PAT&TAP symmetric?输出样例:
11
分析:有两种可能,一种是回文字符串的长度为奇数,一种是偶数的情况。i为字符串当前字符的下标。
当回文字串为奇数的时候,j表示i-j与i+j构成的回文字串长度;当回文字串长度为偶数的时候,j表示i+1左边j个字符一直到i右边j个字符的回文字串长度~~~用maxvalue保存遍历结果得到的最大值并且输出~~
#include<cstdio>#include<iostream>using namespace std;int main(){string s;getline(cin,s);int len=s.length();int maxvalue=0,temp;for(int i=0;i<len;i++){temp=1;for(int j=1;j<len;j++){if(i-j<0||i+j>=len||s[i-j]!=s[i+j]){break;}temp+=2;}maxvalue=maxvalue>temp?maxvalue:temp;temp=0;for(int j=1;j<len;j++){if(i+1-j<0||i+j>=len||s[i+1-j]!=s[i+j]){break;}temp+=2;}maxvalue=maxvalue>temp?maxvalue:temp;}printf("%d\n",maxvalue);return 0;}
阅读全文
0 0
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- GPLT L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- L2-008. 最长对称子串
- 浅谈SQLServer行列转换UNPIVOT函数的使用
- centos下 使用phpstorm+xdebug 远程调试代码
- 寻找数组对角线相关
- vs bool true(205)
- UGUI中的事件系统
- L2-008. 最长对称子串
- AsyncQueryHandler类的简单分析
- POJ3276 Face The Right Way
- Android——选项控件——RadioGroup&RadioButton
- 垃圾收集算法分类
- 严蔚敏数据结构习题——第一章(部分)
- 1.21.ARM汇编指令集9之协处理器指令
- Android长连接
- c# 中 DBNull.Value和Null 区别