URL
https://leetcode.com/problems/number-of-laser-beams-in-a-bank/description/?envType=daily-question&envId=2024-01-03
Code
https://github.com/syohex/dotnet-study/blob/master/fsharp/leetcode/challenge/202401/number_of_laser_beams_in_a_bank/main.fsx
let numberOfBeams (bank: string list) : int =
let rec numberOfBeams' bank prev acc =
match bank with
| [] -> acc
| h :: t ->
let ones = Seq.filter ((=) '1') h |> Seq.length
if ones > 0 then
numberOfBeams' t ones (acc + (prev * ones))
else
numberOfBeams' t prev acc
numberOfBeams' bank 0 0