Dovrei elencare tutte le possibili combinazioni con le impostazioni di lunghezza (numero di posti totali disponibili) e postiCons (n° minimo di posti consecutivi occupati)codice:int count=0; ArrayList<String> carrozza=new ArrayList<String>(); int lunghezza=3; int postiCons=2; int k=(int)Math.pow(2,lunghezza)-1; char[] charPosti=new char[postiCons]; Arrays.fill(charPosti,'1'); String consPosti=new String(charPosti); while(k>=0){ String or=Integer.toBinaryString(k); char[] charArray=new char[lunghezza-or.length()]; Arrays.fill(charArray,'0'); String str=new String(charArray)+or; if(str.indexOf(consPosti)>=0){ count++; } k--; }
Nell'esempio sopra mi elenca le combinazioni
|1|1|0|
|0|1|1|
|1|1|1|
Esiste un modo per procedere "al contrario" cioè non verificando tutte le possibili combinazioni ma crearle/elencarle direttamente? Ad esempio con lunghezza 8 e postiCons 3 dovrei creare le combinazioni
|1|1|1|0|0|0|0|0|
|1|1|1|1|0|0|0|0|
|1|1|0|0|1|1|1|0|
|1|1|0|0|1|1|1|1|
e via dicendo.
Grazie![]()

Rispondi quotando