L2-008. 最长对称子串
2018-06-18 04:06:54来源:未知 阅读 ()
对给定的字符串,本题要求你输出最长对称子串的长度。例如,给定"Is PAT&TAP symmetric?",最长对称子串为"s PAT&TAP s",于是你应该输出11。
输入格式:
输入在一行中给出长度不超过1000的非空字符串。
输出格式:
在一行中输出最长对称子串的长度。
输入样例:
Is PAT&TAP symmetric?
输出样例:
11
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int i, j, q, k = 0; int count[10001] = {0}; char arr[1001]; int max; gets(arr); if(strlen(arr) == 1) max = 1; else{ //最长字符串为奇数 for(i = 1; i < strlen(arr)-1; i++) { j = i; q = i; while(arr[--j] == arr[++q] && j >= 0 && q < strlen(arr)) { count[k]++; } count[k] = count[k]*2+1; k++; } //最长字符串为偶数 for(i = 0; i < strlen(arr); i++) { j = i; q = i+1; while(arr[j] == arr[q] && j >= 0 && q < strlen(arr)) { j--; q++; count[k]++; } count[k] = count[k]*2; k++; } max = count[0]; for(i = 1; i < k; i++) { if(count[i] > max) max = count[i]; } } printf("%d", max); return 0; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:C-数据和C
- 最长回文子串 2020-04-13
- 无重复字符的最长子串 2020-04-08
- 算法训练 拦截导弹(最长递增子序列和最长递减子序列问题, 2020-02-20
- C++动态规划实现查找最长公共子序列 2019-10-31
- 最长上升子序列(LIS: Longest Increasing Subsequence) 2019-09-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash