题解 | #密码截取#
密码截取
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
#include <algorithm> #include <iostream> #include <vector> #include <cmath> using namespace std; int maxSub(string input,int i,int t) { int sublen = 0; if(i==t) { sublen = 1; i--; t++; while(i>=0&&t<input.size()) { if(input[i]==input[t]) { sublen+=2; i--; t++; } else { return sublen; } } return sublen; } else { while(i>=0&&t<input.size()) { if(input[i]==input[t]) { sublen+=2; i--; t++; } else { return sublen; } } return sublen; } } int main() { string input; getline(cin,input); int result = 0; for(int i = 0; i < input.size(); i++) for(int t = i; t < i+2; t++) { result = max(maxSub(input,i,t), result); } cout<<result; } // 64 位输出请用 printf("%lld")