Chciałbym być w stanie podjąć listę jak tenWszystkie permutacje listy
var list=new List<int>{0, 1, 2};
I uzyskać wynik jak ten
var result=
new List<List<int>>{
new List<int>{0, 1, 2},
new List<int>{0, 2, 1},
new List<int>{1, 0, 2},
new List<int>{1, 2, 0},
new List<int>{2, 0, 1},
new List<int>{2, 1, 0}
};
Nie jestem zainteresowany w zestawach z brakującymi liczby, po prostu kombinacje istniejących liczb. Jakieś pomysły?
Ponadto już sprawdziłem rozwiązania takie jak Getting all possible combinations from a list of numbers i nie pasują one.
To jedna daje mi coś takiego
var result=
new List<List<int>> {
// [[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
// serialized the result to JSON so it would be quicker.
};
I nie wypluć wszystkich kombinacjach.
Co szukasz jest tym _Permutations_ z listy. Zostało to zadane wiele razy tutaj wcześniej :) Oto bardzo podobne pytanie: http://stackoverflow.com/questions/3319586/getting-all-possible-permutations-from-a-list-of-numbers –
Ten wynik doesn obejmuje wszystkie elementy i zawiera permutacje wykluczające elementy. Próbowałem ich obu i nie pasowali. Nie udało mi się znaleźć żadnego działającego przykładu, który nie działa tak jak ten, z którym się łączyłeś. –
W jaki sposób obsługiwane są duplikaty? Co jeśli otrzymałeś "0, 1, 1, 1, 2, 2"? – yoozer8