题解 | 最长公共子串
最长公共子串
https://www.nowcoder.com/practice/f33f5adc55f444baa0e0ca87ad8a6aac
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * longest common substring * @param str1 string字符串 the string * @param str2 string字符串 the string * @return string字符串 */ public String LCS (String str1, String str2) { // write code here int m = str1.length(); int n = str2.length(); int[][] dp = new int[m+1][n+1]; for(int i = 1;i<=m;i++){ for(int j = 1;j<=n;j++){ if(str1.charAt(i-1)==str2.charAt(j-1)){ dp[i][j] = dp[i-1][j-1]+1; }else{ dp[i][j] = 0; } } } int count = 0; int leg = 0; for(int i = 1;i<=m;i++){ for(int j = 1;j<=n;j++){ if(dp[i][j]>count){ count = dp[i][j]; leg = i; } } } String result = str1.substring(leg-count,leg); return result; } }#实习/项目/竞赛奖项,哪个对找工作更重要?#