如输入abcdeabcf,则输出abc。
程序如下:
/*
* author:xincici
* brief:输入一个字符串,输出该字符串的最长重复子序列。
*/
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test {
public static void main(String[] args)throws Exception{
Scanner sc = new Scanner(System.in);
String ss = sc.next();
adjust(ss);
main(args);
}
static void adjust(String s){
List<String> li = new ArrayList<String>();
String temp = "";
int l = s.length();
for(int i=0; i<l-1; i++){
for(int j=l-1; j>i; j--){
if(s.lastIndexOf(s.substring(i, j)) > j-1){
temp = s.substring(i, j);
break;
}
}
li.add(temp);
}
String r = li.get(0);
for(int i=1; i<li.size(); i++){
if(r.length() < li.get(i).length())
r = li.get(i);
}
System.out.println(r);
}
}