题解 | #密码截取#
密码截取
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
#include <iostream> #include <string> using namespace std; int main() { string input; cin >> input; int max_length = 0; int left = 0, right = input.size() - 1; // 遍历,最右边的指针 while (right) { for (left = 0; left < right; ++left) { if(input[left] == input[right]){ int l = left, r = right; int length = 0; while(l < r){ if(input[l] == input[r]){ length += 2; }else { length = 0; break; } l++; r--; } if(l == r) length += 1; max_length = max(max_length, length); if(length >= 1) break; } } right--; } cout << max_length << endl; return 0; } // 64 位输出请用 printf("%lld")
暴力 ,硬怼就是了!!!