DSTJZ


私信TA

用户名:dotcpp0721777

访问量:9093

签 名:

时间可以解决许多问题

等  级
排  名 48
经  验 12027
参赛次数 13
文章发表 324
年  龄 18
在职情况 学生
学  校 狗熊岭23届毕业生
专  业

  自我简介:

TA的其他文章


参考代码:

import java.util.Scanner;

public class Main 
{	public static void main(String[] args) 
    {	Scanner scanner = new Scanner(System.in);
    	String in1 = scanner.next();
    	String in2 = scanner.next();
    	String s1 = in1 + in1;
    	String s2 = in2 + in2;
    	int n1 = s1.length();
    	int n2 = s2.length();
    	int res = 0;
    	//dp一维数组
    	int []dp = new int[n2 + 1];
    	for(int i = 1; i <= n1; i++)
    	{	for(int j = n2; j > 0; j--)
    		{	if(s1.charAt(i - 1) == s2.charAt(j - 1))
    			{	dp[j] = dp[j - 1] + 1;
    				res = Math.max(res, dp[j]);
    			}else
    				dp[j] = 0;
    		}
    	}
    	//dp二维数组
//    	int [][]dp = new int[n1 + 1][n2 + 1];
//    	for(int i = 1; i <= n1; i++)
//    		for(int j = 1; j <= n2; j++)
//    		{	if(s1.charAt(i - 1) == s2.charAt(j - 1))
//    				dp[i][j] = dp[i - 1][j - 1] + 1;
//    			res = Math.max(res, dp[i][j]);
//    		}
    	System.out.print(res);
    }
}


 

0.0分

5 人评分

  评论区

  • «
  • »