Cavolo, sai qual era l'errore (eraltro individuato subito :adhone: )

return i++;

con quest'espressione prima viene eseguito il return e poi i viene incrementato, per cui veniva ritornato il valore corretto meno 1. Quindi basta fare:
return ++i;

Codice PHP:
public static int eliminaOccorrenze(int[] array){
    
int i 0;
    
int j 0;
    while(
< array.length){
          if(array[
j] != array[i]){
                
i++;
                array[
i] = array[j];
           }
           
j++;
    }
    return 
i++;

PS: non l'avevo già visto :sexpulp: ... d'altro canto ti pare un problema difficile? Era piu difficile quello dell'altra volta...