求最大連續子序列長度(阿里巴巴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;
				}
			}
		}
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章