题解 | #密码截取#
密码截取
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); } }