题解 | #密码截取#

密码截取

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")

全部评论

相关推荐

牛客96763241...:杭电✌️也是打完招呼,没人回吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务