题解 | #最长回文子串#

最长回文子串

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

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

int main() {
    string str;
    while (cin >> str) {
        int n = str.size();
        int maxD = 1;
        vector<vector<bool>> dp(n,vector<bool>(n, false));
        for (int i = n-1; i >= 0; --i) {
            for (int j = i+1; j < n; ++j) {
                if (j-i<=2) dp[i][j] = str[i]==str[j];
                else dp[i][j] = str[i]==str[j]&&dp[i+1][j-1];
                if (dp[i][j]) maxD = max(maxD,j-i+1);
            }
        }
        cout<<maxD<<endl;
    }
}

全部评论

相关推荐

01-19 12:48
门头沟学院 C++
只想搞钱的鸽子很喜欢...:混账是很多的,还有那些在自己风华正茂的年纪说风凉话讥讽那些下岗前员工的。这些人都是现在职场环境这么烂的帮凶
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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