package largest_continuous_intersection; import java.util.LinkedList; import java.util.List; public class FindLCI { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String aStr = args[0]; String bStr = args[1]; //String aa = "P1,P2,P3,P5,P4,P4,P4,P4"; //String bb = "P1,P2,P3,P6,P4,P4,p4,p4"; String[] a = aStr.split(","); String[] b = bStr.split(","); List list = new LinkedList(); int count = 0; outer: for(int i = 0; i < a.length; i++){ for(int j = 0; j < b.length; j++){ if(a[i].equalsIgnoreCase(b[j])) { int m = i; int n = j; list.add(new LinkedList()); while(m < a.length && n < b.length && a[m].equalsIgnoreCase(b[n]) ) { list.get(list.size()-1).add(a[m]); m++; n++; } } } } int max = 0; for(int i = 0; i < list.size(); i++) { if(list.get(i).size() >= list.get(max).size()) max = i; } System.out.println("RESULT"); for(int i = 0; i < list.get(max).size(); i++) { System.out.print(list.get(max).get(i)); } } }