最长连续字母序列的长度

来源:互联网 发布:特雷门琴 淘宝 编辑:程序博客网 时间:2024/06/04 18:17

1006.最长连续字母序列的长度

Description

给定一个 query 和一个 text,均由小写字母组成。要求在 text 中找出以同样的顺序连续出现在 query 中的最长连续字母序列的长度。例如, query 为“acbac”,text 为 “acaccbabb”,那么 text 中的“cba”为最长的连续出现在 query 中的字母序列,因此, 返回结果应该为其长度 3。请注意程序效率。

注意:变量在程序中直接赋值
 String query = "acbac";  
 String text = "acaccbabb";


二维数组,打表做

import java.util.Scanner;public class T6 {/** * @param args */public static void main(String[] args) {Scanner sc=new Scanner(System.in);String s1=sc.nextLine();String s2=sc.nextLine();sc.close();int n=getStrMax(s1,s2);System.out.println(n);}private static int getStrMax(String s1, String s2) {int n=s1.length();int m=s2.length();int[][] data=new int[n+1][m+1];int max=0;for (int i = 1; i < n+1; i++) {for (int j = 1; j < m+1; j++) {if(s1.charAt(i-1)==s2.charAt(j-1)){data[i][j]=data[i-1][j-1]+1;}else{data[i][j]=0;}if(data[i][j]>max){max=data[i][j];}}}return max;}}


0 0
原创粉丝点击