题解 | #HJ32 密码截取# (动归 *)
密码截取
https://www.nowcoder.com/practice/3cd4621963e8454594f00199f4536bb1
import java.io.InputStreamReader; import java.util.Scanner; import java.io.BufferedReader; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = ""; while ((s = br.readLine()) != null) { System.out.println(check(s)); } } public static int check(String s) { int len = s.length(), ans = 0; boolean[][] dp = new boolean[len][len]; for (int i = 0; i < len; i++) dp[i][i] = true; for (int r = 1; r < len; r++) { for (int l = 0; l < r; l++) { if (s.charAt(l) == s.charAt(r) && (r - l <= 2 || dp[l + 1][r - 1])) { dp[l][r]=true; ans=Math.max(ans,r-l+1); } } } return ans; } }