LeetCode 1706. Where Will the Ball Fall in F#
URL
leetcode.com/problems/where-will-the-ball-f..
Code
github.com/syohex/dotnet-study/blob/master/..
let findBall (grid: int [,]) : int list =
let rows = Array2D.length1 grid
let cols = Array2D.length2 grid
let rec findBall' row col (grid: int [,]) =
if row >= rows then
col
else if grid.[row, col] = 1 then
if col = cols - 1 || grid.[row, col + 1] = -1 then
-1
else
findBall' (row + 1) (col + 1) grid
else if col = 0 || grid.[row, col - 1] = 1 then
-1
else
findBall' (row + 1) (col - 1) grid
seq { 0 .. (cols - 1) }
|> Seq.map (fun col -> findBall' 0 col grid)
|> Seq.toList