题解 | #密码截取#

密码截取

https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1

#include <iostream>
#include <vector>

using namespace std;

/**
 * dp[j][i]表示从j到i的子串是否是回文子串
 */
int maxduichenLen(string str) {
    int n = str.size();
    vector<vector<bool>> dp(n, vector<bool>(n, false));
    int max = 1;
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j <= i; ++j) {
            if (i == j) dp[j][i] = true;
            else if (i - j == 1) dp[j][i] = str[i] == str[j];
            else dp[j][i] = (str[i] == str[j] && dp[j + 1][i - 1]);
            if (dp[j][i] && i - j + 1 > max) max = i - j + 1;
        }
    }
    return max;
}

int main() {
    string str;
    while (cin >> str) {
        cout << maxduichenLen(str) << endl;
    }
    return 0;
}

全部评论

相关推荐

05-07 19:10
已编辑
中国科学技术大学 C++
silly01:现在先去 momenta,8-9月去鹅找日常实习,八股文算法背好了你这随便进。不过建议补充一下后端知识,MySQL、Redis看下八股,再补个6824,加点go后台的技术栈,9月随便进大厂。CPP后端只能来WXG
点赞 评论 收藏
分享
能干的三文鱼刷了100道题:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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