0
我想改變以下函數(或創建一個全新的函數),以便它返回(選擇,而不是選擇)而不是隻(選擇):列表組合(選擇k)返回元組(選擇,而不是選擇)而不是僅僅(選擇)
let rec comb n l =
match n, l with
| 0, _ -> [[]]
| _, [] -> []
| k, (x::xs) -> List.map ((@) [x]) (comb (k-1) xs) @ comb k xs
目前,
comb 2 ["R";"G";"B"]
回報
[["R"; "G"]; ["R"; "B"]; ["G"; "B"]]
我想它返回
[(["R"; "G"], ["B"]); (["R"; "B"], ["G"]); (["G"; "B"], ["R"])]
我的大部分問題是我對當前函數最後一行的內容缺乏瞭解。
['List.partition'(http://msdn.microsoft.com/en-us/library/ee353782.aspx)? – ildjarn