题解 | #最长回文子串# js

最长回文子串

https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param A string字符串
 * @return int整型
 */
function getLongestPalindrome(A) {
    // write code here
    if (A.length == "") return 0;
    let len = A.length;
    let dp = new Array(len).fill().map(() => new Array(len).fill(false));
    let begin = 0;
    let max = 0;
    for (let i = len - 1; i >= 0; i--) {
        for (let j = i; j < len; j++) {
            if (A[i] == A[j]) {
                if (j - i <= 1) {
                    dp[i][j] = true;
                } else {
                    dp[i][j] = dp[i + 1][j - 1];
                }
            }
            if (dp[i][j] && j - i + 1 > max) {
                max = j - i + 1;
                begin = i;
            }
        }
    }
    return A.substring(begin, begin + max).length;
}
module.exports = {
    getLongestPalindrome: getLongestPalindrome,
};

全部评论

相关推荐

做个有文化的流氓:不想当将军的士兵不是好士兵
点赞 评论 收藏
分享
牛油果甜奶昔:别的先不说,牛客还能内推护士?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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