From 4591b795796a287b76cf340adc1e69d1c10066d2 Mon Sep 17 00:00:00 2001 From: HuangXiao Date: Wed, 11 Nov 2020 11:51:34 +0800 Subject: [PATCH] Add java code for LCS --- ...61\345\255\220\345\272\217\345\210\227.md" | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git "a/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227.md" "b/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227.md" index bee8947..39b13dd 100644 --- "a/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227.md" +++ "b/\345\212\250\346\200\201\350\247\204\345\210\222\347\263\273\345\210\227/\346\234\200\351\225\277\345\205\254\345\205\261\345\255\220\345\272\217\345\210\227.md" @@ -147,4 +147,29 @@ else:

-======其他语言代码====== \ No newline at end of file +======其他语言代码====== + +[Shawn](https://github.com/Shawn-Hx) 提供 Java 代码: + +```java +public int longestCommonSubsequence(String text1, String text2) { + // 字符串转为char数组以加快访问速度 + char[] str1 = text1.toCharArray(); + char[] str2 = text2.toCharArray(); + + int m = str1.length, n = str2.length; + // 构建dp table,初始值默认为0 + int[][] dp = new int[m + 1][n + 1]; + // 状态转移 + for (int i = 1; i <= m; i++) + for (int j = 1; j <= n; j++) + if (str1[i - 1] == str2[j - 1]) + // 找到LCS中的字符 + dp[i][j] = dp[i-1][j-1] + 1; + else + dp[i][j] = Math.max(dp[i-1][j], dp[i][j-1]); + + return dp[m][n]; +} +``` + -- GitLab