题解 | #密码截取#

密码截取

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

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String pw = in.nextLine();

        int n = pw.length();
        int maxlen = 1;
        int[][] dp = new int[n][n];
        for (int i = 0; i < n; i++) {
            dp[i][i]=1;
            if(i<n-1&&pw.charAt(i)==pw.charAt(i+1)){
                dp[i][i+1]=2;
                maxlen=2;
            }
        }

        for (int l = n-3; l >= 0; l--) {
            for (int r = l+2; r < n; r++) {
                if(dp[l+1][r-1]!=0&&pw.charAt(l)==pw.charAt(r)){
                    dp[l][r]=dp[l+1][r-1]+2;
                    maxlen=Math.max(dp[l][r],maxlen);
                }
            }
        }
        System.out.println(maxlen);
    }
}

全部评论

相关推荐

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