Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13
  1. #11
    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...
    Il linguaggio migliore e quello che ti crei da solo...

  2. #12
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    No, è giusto incrementare la i dopo. Supponi di avere questo input:

    1, 1, 2

    quando si va ad esaminare la terza posizione, i vale 1, in quanto la seconda posizione conteneva un 1 gia presente (i rappresenta l'ultima posizione corrente dell'array "compresso"). Allora prima di scrivere il 3 incrementiamo i di uno in modo da scrivere il nuovo elemento nella posizione successiva.


  3. #13
    Adesso l'ho capito...

    Grazie...
    Il linguaggio migliore e quello che ti crei da solo...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.