题解 | #公共子串计算#
公共子串计算
https://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
String s1 = scan.next();
String s2 = scan.next();
int cols = s1.length() + 1;
int rows = s2.length() + 1;
char[] ar1 = s1.toCharArray();
char[] ar2 = s2.toCharArray();
int[][] arr = new int[rows][cols];
for (int i = 1; i < rows; i++) {
for (int j = 1; j < cols; j++) {
if (ar1[j - 1] == ar2[i - 1] )
arr[i][j] = arr[i - 1][j - 1] + 1;
}
}
int max = 0;
for (int i = 1; i < rows; i++) {
for (int j = 1; j < cols; j++) {
if (arr[i][j] > max)
max = arr[i][j];
}
}
System.out.println(max);
}
}
查看12道真题和解析