PAT--1040. Longest Symmetric String
来源:互联网 发布:python经典视频教程 编辑:程序博客网 时间:2024/06/10 01:50
Given a string, you are supposed to output the length of the longest symmetric sub-string. For example, given “Is PAT&TAP symmetric?”, the longest symmetric sub-string is “s PAT&TAP s”, hence you must output 11.
Input Specification:
Each input file contains one test case which gives a non-empty string of length no more than 1000.
Output Specification:
For each test case, simply print the maximum length in a line.
Sample Input:
Is PAT&TAP symmetric?
Sample Output:
11
题解
查找最长回文字串,扫描一遍,对每个s[i],向左右延伸判断是否是一个回文字串。
#include <bits/stdc++.h>using namespace std;string s;int sym(int k){ int odd = 0, even = 0; int i = k, j = k; while(i >= 0 && j < s.length() && s[i] == s[j]) i--, j++, odd++; i = k, j = k + 1; while(i >= 0 && j < s.length() && s[i] == s[j]) i--, j++, even++; return max(2 * odd - 1, 2 * even);}int main(){#ifndef ONLINE_JUDGEfreopen("data.in", "r", stdin);#endif // ONLINE_JUDGE // Is PAT&TAP symmetric? getline(cin, s); int ans = 0; for(int i = 0; i < s.length(); ++i) ans = max(ans, sym(i)); cout << ans << endl; return 0;}
阅读全文
0 0
- PAT 1040. Longest Symmetric String
- PAT 1040. Longest Symmetric String
- PAT 1040. Longest Symmetric String
- 【PAT】1040. Longest Symmetric String
- PAT--1040. Longest Symmetric String
- PAT 1040. Longest Symmetric String (25)
- PAT A 1040. Longest Symmetric String (25)
- PAT 1040. Longest Symmetric String (25)
- PAT 1040. Longest Symmetric String (25)
- PAT 1040. Longest Symmetric String (25)
- pat 1040. Longest Symmetric String (25)
- PAT 1040. Longest Symmetric String (25)
- 【PAT】1040. Longest Symmetric String (25)
- 【PAT甲级】1040. Longest Symmetric String (25)
- pat 1040. Longest Symmetric String (25)
- PAT甲级1040. Longest Symmetric String (25)
- PAT-A-1040. Longest Symmetric String (25)
- PAT 1040. Longest Symmetric String (25)
- 进度条UIProgressView和计步器结合
- 大数据-十
- Spring4第三讲学习笔记,依赖注入dependency injection
- 读取手机联系人
- 20170607Windows09_04_进程复习
- PAT--1040. Longest Symmetric String
- 写在最前面
- 常用网站地址保存
- dubbo配置文件xml校验报错
- ML001.梯度下降(Gradient Descent)
- CSS隐藏一个元素的几种方式及其不同
- linux 下修改 忘记MySQL如何修改
- unix和linux的区别
- Android基于Handler、Looper、MessageQueue、ThreadLocal的跨线程通信