|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2006
Messaggi: 206
|
[Java] Particolare operazione su insieme
Ciao a tutti. Per farvi capire cosa dovrei fare vi faccio un esempio.
Dato questo insieme int[] stati = {0,1,2}; Devo ottenere questo insieme: {{0},{1},{2},{0,1},{0,2},{1,2},{0,1,2}} Per precisione, il risultato un oggetto di questo tipo: LinkedList<Stato> ... ecc.. dove Stato è un oggetto che ha un parametro di tipo Set<Integer> elementi. C'è chiaramente uno schema ma mi sto scervellando senza trovare una soluzione... help ![]() Ps: Per sicurezza faccio un'altro esempio. Insieme di partenza: int[] stati = {0,1,2,3}; Risultato: {{0},{1},{2},{3},{0,1},{0,2},{0,3},{1,2},{1,3},{2,3},{0,1,2},{0,2,3},{1,2,3}} |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
Stando al primo esempio e tralasciando che manchi il sottoinsieme vuoto {} mi pare che tu stia cercando l'insieme delle parti del tuo insieme di partenza (il power set in Inglese). Se così fosse però nel secondo esempio oltre all'insieme vuoto mancherebbero anche i sottoinsiemi {0,1,3} e {0,1,2,3}... una svista?
Su internet puoi facilmente trovare l'implementazione dell'algoritmo, sia in versione ricorsiva che iterativa (molto più furba). ciao! british |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:54.