题解 | #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507

#include <iostream>
#include <vector>
using namespace std;

int main() {
    string s;cin>>s;
    vector<vector<int>> dp(s.size(),vector<int>(s.size(),1));
    int Max = 1;
    for(int i = s.size()-1;i>=0;i--){
        for(int j = i+1;j<s.size();j++){
            dp[i][j] = (s[i]==s[j]) && dp[i+1][j-1];
            if(dp[i][j])
                Max = max(Max,j-i+1);
        }
    }
    cout<<Max;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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