Salve a tutti,
avrei urgentemente bisogno di un aiuto nella scrittura di un metodo java.
Ho bisogno di un metodo che:
- prende in ingresso un array, e un intero k
- restituisce tutte le possibili combinazioni degli elementi dell' array di lunghezza k
esempio:
INPUT -> array (es. char) = {'0','1'}; int k = 3;
OUTPUT:
000
001
010
011
100
101
110
111
ATTENZIONE!!!
VOGLIO CHE IL METODO SIA CAPACE DI MEMORIZZARE L'OUTPUT IN QUALCHE MODO (ad esempio in una stringa, in un array o in una matrice). e non di stampare l'output a video (cosa che sono riuscito a fare con un metodo ricorsivo)
questo è il metodo ricorsivo che stampa a video l'output:
public static int disp(char[] alf, int k) {
return disp(alf,k,new String());
}
public static int disp(char[] alf, int k, String a) {
int cont = 0;
if (a.length() == k) {
System.out.println(a);
return 1;
}
for (int i = 0; i < alf.length; i++)
cont += disp(alf,k,a+alf[i]);
return cont;
}
grazie mille...nel frattempo![]()