LeetCode 219. Contains Duplicate II in F#
URL
leetcode.com/problems/contains-duplicate-ii
Code
github.com/syohex/dotnet-study/blob/master/..
let containsNearByDuplicate (nums: int list) (k: int) : bool =
let rec containsNearByDuplicate' nums i k acc =
match nums with
| [] -> false
| h :: t ->
match Map.tryFind h acc with
| None -> containsNearByDuplicate' t (i + 1) k (Map.add h i acc)
| Some (prev) ->
if i - prev <= k then
true
else
containsNearByDuplicate' t (i + 1) k (Map.add h i acc)
containsNearByDuplicate' nums 0 k Map.empty