求最大连续子序列长度(阿里巴巴2015研发岗机试算法第一题)

由于准备不充分,妥妥的被阿里虐了。

import java.util.Scanner;

public class GetMaxSeqLength {
	/**
	 * 题目:
	 * 给定一个query和一个text,均由小写字母组成。
	 * 要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。
	 * 例如, query为“acbac”,text为“acaccbabb”,
	 * 那么text中的“cba”为最长的连续出现在query中的字母序列,
	 * 因此,返回结果应该为其长度3。请注意程序效率。
	 * 思路:
	 * 截取query的子字符串(按照从多至少顺序截取),与text进行比较
	 */
	public static void main(String[] args) {
		
		Scanner text_in = new Scanner(System.in);
		String text = text_in.next();
		Scanner query_in = new Scanner(System.in);
		String query = query_in.next();
		System.out.println("query:"+query);
		boolean flag=true;
		for(int i=query.length()-1; i>=0 && flag;i--){
			for(int j=0;j+i<=query.length()-1;j++){
				String temp = query.substring(j,j+i+1);
				int result=text.indexOf(temp);
				System.out.println(result);
				if(result==1){
					System.out.println("最大长度:"+temp.length());
					flag=false;
					break;
				}
			}
		}
	}
}

 

你可能感兴趣的:(阿里巴巴笔试题,2015校园招聘,最大子序列长度)