样例输入:
ABBA、12ABBA、A、ABAKK、51233214、abaaab
样例输出:
4、4、1、3、6、5
可以使用中提供的库函数。
实现接口,每个接口实现1个基本操作:
voidGetCipherMaxLen(characCipherContent[],int *piCipherLen):
acCipherContent是一个字符串数组常量,见参考用例;
piCipherLen为输出有效密码串的最大长度;
题目框架中有2个参考用例,其它用例请执行编写。
注:可以先将输入字符串颠倒,这里可以用到reverse(头文件<algorithm>)或assign(s1.rbegin() ,s1.rend ()),剩下的只要按照提取最大公共子字符串的方法即可。
#include<iostream> #include<stdlib.h> #include<string> using namespace std; void getCipherMaxLen(char str[],int output) { string s1; s1=str; string s2; int len=s1.size(); s2.assign(s1.rbegin() ,s1.rend ()); string temp; for(int i=0;i<len;i++) { for(int j=len-i;j>0;j--) { temp=s2.substr(i,j); if((s1.find(temp)!=string::npos)&&j>output) output=j; } } cout<<output; } int main() { char str[30]; gets(str); int output=0; getCipherMaxLen(str,output); system("pause"); return 0; }
字符串运用-密码截取(截取最大对称字符串)
最新推荐文章于 2020-05-06 08:48:02 发布