输入一个字符串,输出该字符串的最长重复子序列。

来源:互联网 发布:高中数学软件 编辑:程序博客网 时间:2024/06/01 10:28

如输入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);}}


原创粉丝点击