寻找重复代码
2025-12-16 本文已影响0人
何以解君愁
小明负责维护项目下的代码,需要查找出重复代码,用以支撑后续的代码优化,请你帮助小明找出重复的代码。
重复代码查找方法:以字符串形式给出两行代码text1,text2(字符串长度1 < len(text1),len(text2) <= 100,由英文字母、数字和空格组成),找出两行代码中的最长公共子串。
如果不存在公共子串,返回空字符串。 注意子串是连续的。
输入描述:输入的参数text1,text2分别表示两行代码
输出描述:输出任一最长公共子串。
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String text1 = sc.nextLine();
String text2 = sc.nextLine();
int m = text1.length();
int n = text2.length();
int[][] dp = new int[m+1][n+1];
int max = 0;
String ans = "";
for(int i = 1;i < m+1;i++){
for(int j = 1;j < n + 1;j++){
if(text1.charAt(i - 1) == text2.charAt(j - 1)){
dp[i][j] = dp[i - 1][j - 1] + 1;
if(max < dp[i][j]){
max = dp[i][j];
ans = text1.substring(i - max,i);
}
}
}
}
System.out.print(ans);
}
}