Originariamente inviato da anx721
Codice PHP:
int  compact(int[] array){
    
int i 0;
    
int j 0;
    while(
< array.length){
          if(array[
j] != array[i]){
                
i++;
                array[
i] = array[j];     
           }
           
j++;
    }
    return 
i++;

Ciao, Scusate se mi intrometto ma sono curioso..

Questo programma non ha 2 errori? dopo l'if si incrementa la 'i' ma cosi facendo il nuovo array risulta spostato di un posto rispetto all'originale (parte da array[1]=array[0]) non e sbagliato?
Secondo me andrebbe cosi:
codice:
.........
    while(j < array.length){
          if(array[j] != array[i]){
                array[i] = array[j];
                i++;
           }
           j++;
    }
    return i;
.........
E cosi ri ritorna la sola 'i'..

Corregetemi se ho detto una cavolata... :tongue:

Ciao...