参考:
http://blog.csdn.net/hhygcy/article/details/3948969
private
int
getLCS(
String
a,
String
b) {
int
la
=
a.
length();
int
lb
=
b.
length();
int[][]
dp
=
new
int[
la
+
1][
lb
+
1];
for (
int
i
=
1;
i
<=
la;
i
++) {
for (
int
j
=
1;
j
<=
lb;
j
++) {
if (
a.
charAt(
i
-
1)
==
b.
charAt(
j
-
1)) {
dp[
i][
j]
=
dp[
i
-
1][
j
-
1]
+
1;
}
else {
dp[
i][
j]
=
Math.
max(
dp[
i][
j
-
1],
dp[
i
-
1][
j]);
}
}
}
return
dp[
la][
lb];
}