LeetCode 383. Ransom Note in F#
URL
leetcode.com/problems/ransom-note
Code
github.com/syohex/dotnet-study/blob/master/..
let canConstruct (ransomNote: string) (magazine: string) : bool =
let f (s: string) : int [] =
s
|> Seq.fold
(fun (acc: int []) c ->
let index = int c - int 'a'
acc.[index] <- acc.[index] + 1
acc)
(Array.zeroCreate 26)
Array.zip (f ransomNote) (f magazine)
|> Array.forall (fun (a, b) -> a <= b)