削除-重複-からソートアレイ-II

/ ** 
*「削除重複」のフォローアップのために:
*?重複が許可されているどのようなAT MOST二回IF
*。たとえば、
*を考えるとソートアレイA = [1,1,1,2,2,3]、
*あなたの機能万一今= 5リターンの長さ、および[-1,1,2,2,3-]である。
*
*次の「重複を削除」:
*あなたはそれを2回繰り返してアップ許可する場合は?
*例えば、
* = [1,1,1,2,2,3]、ソートされた配列を指定
*関数は長さが5であるべき返し、今[1,1,2,2,3-]です。
* /

この問題は数を2回繰り返しできるようにすることですので、我々は= 2をカウントするので、循環されます。
/ ** 
 *「削除重複」のフォローアップのために:
 *?重複が許可されているどのようなAT MOST二回IF 
 *。たとえば、
 *を考えるとソートアレイA = [1,1,1,2,2,3]、
 *あなたの機能万一今= 5リターンの長さ、および[-1,1,2,2,3-]である。
 * 
 *次の「重複を削除」:
 *あなたはそれを2回繰り返してアップ許可する場合は?
 *例えば、
 * = [1,1,1,2,2,3]、ソートされた配列を指定
 *関数は長さが5であるべき返し、今[1,1,2,2,3-]です。
 * / 

パブリッククラスMain48 { 
    パブリック静的無効メイン(文字列[] args){ 
        INT [] = {1,1,1,2} A; 
        のSystem.out.println(Main48.removeDuplicates(A)); 
    } 

    パブリックstatic int型RemoveDuplicates(INT [] A){ 
        IF(A == NULL){  
            0を返します。
        } 
        (A.length <= 2){IF 
            A.lengthを返す; 
        } 
        int型のCOUNT = 2; 
        のための(I = 2をint型、IはA.lengthを<; Iは++){//同じことがスキップされた場合。
       IF([I]!= A [COUNT-2]){// それが以前のサイクルの位置の同じ数をカバーする、等価な配列を追加して2番目の数字は前に同じではない一度。
                       = A [I] [++ COUNT]を; } } 戻りCOUNT; } }

  

おすすめ

転載: www.cnblogs.com/strive-19970713/p/11344641.html