LeetCode 118. Pascal's Triangle in F#
URL
leetcode.com/problems/pascals-triangle
Code
github.com/syohex/dotnet-study/blob/master/..
let generate (numRows: int) : int list list =
let rec generate' i limit (prev: int []) acc =
if i >= limit then
acc |> List.rev
else
let v =
seq { 0..i }
|> Seq.fold
(fun acc j ->
if j = 0 || j = i then
1 :: acc
else
(prev.[j - 1] + prev.[j]) :: acc)
[]
|> List.rev
generate' (i + 1) limit (v |> List.toArray) (v:: acc)
generate' 0 numRows [||] []