LeetCode 11. Container With Most Water in F#
URL
leetcode.com/problems/container-with-most-w..
Code
github.com/syohex/dotnet-study/blob/master/..
let maxArea (height: int list) : int =
let rec maxArea' (height: int []) left right ret =
if left >= right then
ret
else
let h = System.Math.Min(height.[left], height.[right])
let w = right - left
let ret' = System.Math.Max(ret, h * w)
if height.[left] < height.[right] then
maxArea' height (left + 1) right ret'
elif height.[left] > height.[right] then
maxArea' height left (right - 1) ret'
else
maxArea' height (left + 1) (right - 1) ret'
let height' = height |> List.toArray
maxArea' height' 0 (height'.Length - 1) System.Int32.MinValue