寻找重复代码

 小明负责维护项目下的代码,需要查找出重复代码,用以支撑后续的代码优化,请你帮助小明找出重复的代码。
 重复代码查找方法:以字符串形式给出两行代码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);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 本期题目:找出重复代码 🔍 题目 📝 小明负责维护项目下的代码,需要查找出重复代码,用以支撑后续的代码优化,请你帮...
    梦想橡皮擦阅读 286评论 0 1
  • 最长公共子序列 题目 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字...
    SunnyQjm阅读 225评论 0 2
  • import Foundation /*一般写算法用c语言来实现,比较能理解整个细节,因为高级语言都封装的简易的操...
    又又轻阅读 398评论 0 0
  • 简述 动态规划是一种将一个复杂问题分解为多个简单的子问题求解的方法。将子问题的答案存储在记忆数据结构中,当子问题再...
    BlowMan阅读 393评论 0 1
  • 【LeetCode】代码模板,刷题必会[https://fuxuemingzhu.blog.csdn.net/ar...
    上官宏竹阅读 1,677评论 0 0

友情链接更多精彩内容