一、解决办法?
我这里是使用递归算法解决的(有点类似dfs)
也可以不用
这里主要分享用java如何解决
二、使用步骤
代码如下(示例):
package com.company.deng;
import java.util.Scanner;
public class Main1 {
public static int num = 1;
public static int count=0;
public static void main(String[] args) {
//2. 小明有两个字符串,他想找出其中最长的公共连续子串的长度,希望你能帮助他。例如,两个字符串分别为“abcde”和“abdge”,
Scanner sc = new Scanner(System.in);
System.out.println("请输入两个字符串:");
String str1 = sc.nextLine();
String str2 = sc.nextLine();
char[] m = str1.toCharArray();
char[] n = str2.toCharArray();
for (int i = 0; i < m.length; i++) {
dfs(m,n,i);
}
System.out.println(count);
}
public static void dfs(char[] m,char[] n,int i){
if (i+1<n.length && m[i+1]==n[i+1]){
num++;
dfs(m,n,i+1);
count=Math.max(count,num);
num=0;
}
}
}
2.运行结果
如下: