Tôi muốn để có thể tham gia một danh sách như thế nàyTất cả các hoán vị của một danh sách
var list=new List<int>{0, 1, 2};
Và có được một kết quả như thế này
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}
};
Tôi không quan tâm đến bộ với thiếu số, chỉ là sự kết hợp của các con số tồn tại. Bất kỳ ý tưởng?
Ngoài ra, tôi đã xem xét các giải pháp như Getting all possible combinations from a list of numbers và chúng không phù hợp.
Đó là một mang lại cho tôi một cái gì đó như thế này
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.
};
Và nó không nhổ ra tất cả các kết hợp.
Những gì bạn đang muốn tìm tất cả các _Permutations_ danh sách của bạn. Điều này đã được hỏi nhiều lần ở đây trước đây :) Đây là một câu hỏi rất giống nhau: http://stackoverflow.com/questions/3319586/getting-all-possible-permutations-from-a-list-of-numbers –
Kết quả đó không không bao gồm tất cả các mục và nó bao gồm các hoán vị loại trừ các mục. Đã thử cả hai và không phù hợp. Tôi đã không thể tìm thấy bất kỳ loại ví dụ làm việc nào không hoạt động giống như ví dụ bạn đã liên kết. –
Các bản sao được xử lý như thế nào? Điều gì sẽ xảy ra nếu bạn được cung cấp '0, 1, 1, 1, 2, 2'? – yoozer8