题解 | #密码截取#
密码截取
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
#include <iostream>
#include <vector>
using namespace std;
int main() {
string s;
cin >> s;
int n = s.size();
int ans = 1;
vector<vector<bool>> dp(n,vector<bool>(n,true));
for(int i = n-1;i >= 0;--i){
for(int j = i+1;j < n;++j){
if(s[i] != s[j])dp[i][j] = false;
if(s[i] == s[j])dp[i][j] = dp[i+1][j-1];
if(dp[i][j])ans = max(ans,j-i+1);
}
}
cout << ans << endl;
}
// 64 位输出请用 printf("%lld")