Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    17

    [JAVA] Combinazione di elementi di un array

    Salve, devo realizzare una classe che generi un array che contiene tutte le combinazioni dei numeri da 0 a 9 da 4 numeri senza ripetizioni. Come posso fare? Sapete dirmi almeno il procedimento? Grazie in anticipo.

  2. #2
    A parte il titolo che fa pensare a qualcosa di completamente diverso (mi dava l'idea che avevi un array di roba e volevi tipo mettere tutto insieme in una stringa).

    Soluzione stupida (da bambino delle elementari, la prima roba che mi e' venuta in mente) e per niente generica, ovvero funziona solo con i numeri di 4 cifre e cicla tutti i numeri da 0 a 9999, ma ci mette solo 108 ms nel mio iMac. Sta a te trovare un modo piu' efficiente ed eventualmente generico.

    codice:
    import java.util.*;
    
    public class Duplicates
    {
        public static boolean hasDuplicates (int n)
        {
            int n1000 = n / 1000;
            int n100 = (n - n1000 * 1000) / 100;
            int n10 = (n - n1000 * 1000 - n100 * 100) / 10;
            int n1 = (n - n1000 * 1000 - n100 * 100 - n10 * 10);
            if (n1000 == n100 || n1000 == n10 || n1000 == n1 || n100 == n10 || n100 == n1 || n10 == n1) {
                return true;
            }
            else {
                return false;
            }
        }
        
        public static void main (String[] args)
        {
            long start = System.currentTimeMillis();
            List<Integer> l = new ArrayList<Integer>();
            for (int i = 0; i <= 9999; i++) {
                if (!hasDuplicates (i)) {
                    System.out.println (i);
                    l.add (i);
                }
            }
            long stop = System.currentTimeMillis();
            System.out.println ("Total time = " + (stop - start));
        }
    }
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

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.