题解 | #公共子串计算#
公共子串计算
http://www.nowcoder.com/practice/98dc82c094e043ccb7e0570e5342dd1b
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String a = in.next();
String b = in.next();
int[][] dp = new int[a.length()+1][b.length()+1];
int max = 0;
for(int i=1; i<=a.length(); i++){
for(int j=1; j<=b.length(); j++){
if(a.charAt(i-1) == b.charAt(j-1)){
dp[i][j] = dp[i-1][j-1] + 1;
max = Math.max(dp[i][j], max);
}
}
}
System.out.println(max);
}
}
}
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String a = in.next();
String b = in.next();
int[][] dp = new int[a.length()+1][b.length()+1];
int max = 0;
for(int i=1; i<=a.length(); i++){
for(int j=1; j<=b.length(); j++){
if(a.charAt(i-1) == b.charAt(j-1)){
dp[i][j] = dp[i-1][j-1] + 1;
max = Math.max(dp[i][j], max);
}
}
}
System.out.println(max);
}
}
}

查看11道真题和解析