您的位置:首页 > 产品设计 > UI/UE

UVa 10405 - Longest Common Subsequence

2013-06-16 19:56 483 查看
/*UVa 10405 - Longest Common Subsequence
* */
import java.util.Scanner;

class Main {

public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String s1 = scanner.nextLine();
s1 = "a" + s1;//在字符串前面增加一个字符,这样就可以避免判断数组越界的问题
String s2 = scanner.nextLine();
s2 = "b" + s2;
char[] c1 = s1.toCharArray();
char[] c2 = s2.toCharArray();
int n1 = s1.length();
int n2 = s2.length();
int[][] c = new int[n1][n2];
for (int i = 1; i < n1; i++) {
for (int j = 1; j < n2; j++) {
if (c1[i] == c2[j]) {
c[i][j] = c[i - 1][j - 1] + 1;
} else if (c[i - 1][j] >= c[i][j - 1])
c[i][j] = c[i - 1][j];
else
c[i][j] = c[i][j - 1];
}
}
System.out.println(c[n1 - 1][n2 - 1]);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: