最长的回文子串
来源:互联网 发布:开发html的软件 编辑:程序博客网 时间:2024/06/05 12:39
Catcher 是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的有效密码串吗?
输入描述:
输入一个字符串
输出
返回有效密码串的最大长度
输入
ABBA
输出
4
思路:遍历一遍,对每个字符进行ABA/ABBA型判断,保存最长的长度。
#include <iostream>#include <string>using namespace std;int test(){ string s; int i, j; while (cin >> s){ int R = 1; for (i = 1; i < s.length() - 2; i++){ // ABA型长度 for (j = 1; i - j >= 0 && i + j<s.size() && s[i - j] == s[i + j]; j++); // 求s[i-j..i+1]长度,本来应该是(i+j)-(i-j)+1,但for后j再做了一次++操作因此需要再-2 if (j * 2 - 1>R) R = j * 2 - 1; for (j = 0; i - 1 - j >= 0 && i + j<s.size() && s[i - 1 - j] == s[i + j]; j++); // ABBA型长度 if (j * 2>R) R = j * 2; } cout << R << endl; } return 0;}
阅读全文
0 0
- 最长的回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 最长回文子串
- 当我们从 “一”方保存对象时,”多”方 的外键一直为null
- 简单实现:jquery ajax/jquery.form.js + springmvc上传文件,带进度条
- Java后端WebSocket的Tomcat实现
- C#执行异步操作的几种方式比较和总结
- 在充电桩与BMS的通讯中,TP协议中的背对背消息是指的什么
- 最长的回文子串
- 读书笔记-设计模式(一)之单例模式
- bzoj5016: [Snoi2017]一个简单的询问
- 漫谈计算摄像学
- 腾讯云 centos7设置Tomcat8.5开机自启动
- 获取一亿数据获取前100个最大值
- JAVA CAS原理深度分析
- ffmpeg读文件与解析
- 使用git提交代码到github