求一个有限长度字符串 最长的有序可重复子串
package acm;
public class SequenceCharMax {public static void main(String[] args) {int[] randomNum = {1, 2, 3, 4, 5, 6};getMaxLength(randomNum);}public static void sequenceMaxLength(int [] array){for(int i=0;i<array.length;i++){}int movFlag=array.length;int startIndex=1;int currentMaxVal=array[0];String[] combinCollection=new String[movFlag];while ((movFlag--)>0){StringBuffer restAppend=new StringBuffer();restAppend.append(array[0]);for(int j=startIndex;j<array.length;j++ ){if(currentMaxVal<array[j]){currentMaxVal=array[j];restAppend.append(array[j]);}}combinCollection[movFlag]=restAppend.toString();startIndex++;currentMaxVal=array[0];}for(int i=0;i<combinCollection.length;i++){System.out.println(combinCollection[i]);}}public static void getMaxLength(int [] array){int maxLength=0;for(int i=0;i<array.length;i++){int movFlag=array.length-i;int startIndex=i+1;int currentMaxVal=array[i];String[] combinCollection=new String[movFlag];while ((movFlag--)>0){StringBuffer restAppend=new StringBuffer();restAppend.append(array[i]);for(int j=startIndex;j<array.length;j++ ){if(currentMaxVal<=array[j]){currentMaxVal=array[j];restAppend.append(array[j]);}}combinCollection[movFlag]=restAppend.toString();startIndex++;currentMaxVal=array[i];}for(int k=0;k<combinCollection.length;k++){System.out.println("第"+i+"次"+combinCollection[k]);if(maxLength<combinCollection[k].length()){maxLength=combinCollection[k].length();}}}System.out.println("有序值最大的长度为"+maxLength);}}