美文网首页
第八届蓝桥杯 最大公共子串 Java A组

第八届蓝桥杯 最大公共子串 Java A组

作者: elijahzheng | 来源:发表于2018-04-02 17:20 被阅读0次

标题:最大公共子串

最大公共子串长度问题就是:
求两个串的所有子串中能够匹配上的最大长度是多少。

比如:"abcdkkk" 和 "baabcdadabc",
可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。

下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。

请分析该解法的思路,并补全划线部分缺失的代码。

public class Main
{
    static int f(String s1, String s2)
    {
        char[] c1 = s1.toCharArray();
        char[] c2 = s2.toCharArray();
        
        int[][] a = new int[c1.length+1][c2.length+1];
        
        int max = 0;
        for(int i=1; i<a.length; i++){
            for(int j=1; j<a[i].length; j++){
                if(c1[i-1]==c2[j-1]) {
                    a[i][j] = __________________;  //填空 
                    if(a[i][j] > max) max = a[i][j];
                }
            }
        }
        
        return max;
    }
    
    public static void main(String[] args){
        int n = f("abcdkkk", "baabcdadabc");
        System.out.println(n);
    }
}

注意:只提交缺少的代码,不要提交已有的代码和符号。也不要提交说明性文字。

答案

a[i-1][j-1] + 1

相关文章

  • 第八届蓝桥杯 最大公共子串 Java A组

    标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。 比如:"abcdk...

  • k倍区间

    第八届蓝桥杯省赛Java B组第十题 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序...

  • 第八届蓝桥杯 字母组串 Java A组

    标题:字母组串 由 A,B,C 这3个字母就可以组成许多串。比如:"A","AB","ABC","ABA","AA...

  • 2019-01-15第八届蓝桥杯javaB组 最大公共子串

    标题:最大公共子串 最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。 比如:"abcdk...

  • 2017年Java方向C组第六题

    标题:最大公共子串 最大公共子串就是求两个串的所有子串中能够匹配上的最大长度是多少。 比如:"abcdkkk" 和...

  • JS求最长公共子序列、最大公共子串、最大子段和

    一、最长公共子序列 二、最大公共子串 三、最大子段和 参考链接:查找两个字符串的最长公共子串的Javascript...

  • 分巧克力

    第八届蓝桥杯省赛Java B组第九题儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一...

  • 第八届蓝桥杯 迷宫 Java A组

    标题:迷宫 X星球的一处迷宫游乐场建在某个小山坡上。它是由10x10相互连通的小房间组成的。 房间的地板上写着一个...

  • 包子凑数

    第八届蓝桥杯省赛Java B组第八题 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i...

  • 算法问题清单

    最大子序列和最长公共子序列最长公共子串大整数相乘/除/加数组最大乘积

网友评论

      本文标题:第八届蓝桥杯 最大公共子串 Java A组

      本文链接:https://www.haomeiwen.com/subject/veexhftx.html