字符串运用-密码截取(截取最大对称字符串)

来源:互联网 发布:钻孔加工编程例子 编辑:程序博客网 时间:2024/06/18 11:16

样例输入:

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;}

0 0