题解 | #密码截取#
密码截取
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 s = in.nextLine();
char[] chars = s.toCharArray();
int[] dp = new int[chars.length];
dp[0] = 1;
for (int i = 1; i < chars.length; i++) {
dp[i] = Math.max(dp[i - 1], find(s, i, i + 1));
dp[i] = Math.max(dp[i], find(s, i, i));
}
System.out.println(dp[chars.length - 1]);
}
public static int find(String s, int left, int right) {
while (left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right)) {
left--;
right++;
}
return right - left - 1;
}
}
