/ **
*「削除重複」のフォローアップのために:
*?重複が許可されているどのような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; } }