题解 | #最长回文子串#

最长回文子串

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

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        char[] chrs = scan.nextLine().toCharArray();
        int len = chrs.length;
        boolean[][] dp = new boolean[len][len];
        int ans = 1;
        for (int i = len - 1; i > -1; i--) {
            for (int j = i; j < len; j++) {
                if (i == j || (chrs[i] == chrs[j] && (j - i <= 2 || dp[i + 1][j - 1]))) {
                    dp[i][j] = true;
                }
                if (dp[i][j] && j - i + 1 >= ans) {
                    ans = j - i + 1;
                }
            }
        }
        System.out.println(ans);
    }
}
全部评论
该牛油正在参与牛客写题解薅羊毛的活动,牛币,周边,京东卡超多奖品放送,活动进入倒计时!快来捡漏啦https://www.nowcoder.com/discuss/888949?source_id=profile_create_nctrack&channel=-1
点赞 回复 分享
发布于 2022-04-20 17:02

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务