1. 程式人生 > >小菜鳥請求各位大大幫忙在一個字元陣列中,找出最長連續重複的字元子序列

小菜鳥請求各位大大幫忙在一個字元陣列中,找出最長連續重複的字元子序列

各位大俠你好,題目的意思如下。 請輸入一個字元陣列,在字元陣列中找出最長的連續相同字元的子序列。 比如 fabcddFFFg中相同字元子序列有 dd和FFF,那麼最長的就是FFF.我下的程式碼如下,通過鍵盤輸入一系列字元,然後讀取到陣列中。
import java.util.Scanner;

public class SeqSameChar {
public static void main (String[] args) {
       int subLength = 0;
     Scanner sc = new Scanner(System.in);
     String[] num = null;
     num = sc.nextLine().split(" ");
     String[] number = new String[num.length];
     for(int i = 0; i< number.length;i++) {
     number[i] = String.valueOf(num[i]);
     }
     subLength =length(number,num.length);  
         System.out.println(subLength);
        for(int i = index; i < index+subLength; i++) {
         System.out.print(number[i]);
        }
     
       System.out.println(c==c1); 
   }
   public static int index;  
   //to calculate the longest contiguous increasing sequence  
   public static int length(String[] A,int size){  
       if(size<=0)return 0;  
       int res=1;  
       int current=1;  
       for(int i=1;i<size;i++){  
           if(A[i].equals(A[i-1])){  
               current++;  
           }  
           else{  
               if(current>res){  
                   index=i-current;  
                   res=current;  
               }  
               current=1;  
           }  
       }  
      return res;      
   }      
}

各位大俠 看看我的程式碼哪裡需要改進比如效率 還有哪些地方有可能有exception(比如有兩個長度相同最長連續重複字元序列).請大家賜教。謝謝