题解 | #最长回文子串#

最长回文子串

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

#include <iostream>
using namespace std;
#include <string>
#include <vector>
int main() {
    string str;
    getline(cin, str);
    vector<vector<bool>> dp(str.size(), vector<bool>(str.size(), false));
    int maxl = 0;
    for (int i = str.size() - 1; i >= 0; i--) {
        for (int j = i; j < str.size(); j++) {
            if (str[i] == str[j]) {
                if(j-i <= 1){
                    dp[i][j] = true;
                }
                else if(dp[i+1][j-1]){
                    dp[i][j] = true;
                }
            }
            if(dp[i][j]){
                maxl = max(j-i+1,maxl);
            }

        }
    }
    cout << maxl << endl;
}

也是回文子串的变种,

在动态规划寻找回文子串的过程中顺便记录长度

全部评论

相关推荐

暑期那会儿,我经历了十八场面试,真是坎坷。都说秋招会简单些,结果连面试机会都没有。25届的秋招,究竟是谁在拿offer呢?
shengwei:闲在牛客没事做? 不如跟我一起做复读机,复制这段话再发出去,每天收入0元,我和身边的朋友都在做,反正闲着也是闲着。吃饱了也是撑着,不如挨顿骂
点赞 评论 收藏
分享
今年会有offer吗:一眼代码相似度过高
投递华为等公司10个岗位
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务