LeetCode 77. Combinations in F#
URL
Code
https://github.com/syohex/dotnet-study/tree/master/fsharp/leetcode/problems/0077/main.fsx
let combine (n: int) (k: int) : int list list =
let rec combine' start n k acc len ret =
if len >= k then
(List.rev acc) :: ret
else
seq { start..n }
|> Seq.fold (fun ret i -> combine' (i + 1) n k (i :: acc) (len + 1) ret) ret
combine' 1 n k [] 0 []