LeetCode 1288. Remove Covered Intervals in F#
URL
leetcode.com/problems/remove-covered-interv..
Code
github.com/syohex/dotnet-study/blob/master/..
let removeCoveredIntervals (intervals: (int * int) list) : int =
let rec removeCoveredIntervals' intervals prev count =
match intervals with
| [] -> count
| (_, e) :: xs ->
if prev < e then
removeCoveredIntervals' xs e (count + 1)
else
removeCoveredIntervals' xs prev count
let sorted =
intervals
|> List.sortWith (fun (s1, e1) (s2, e2) ->
if s1 = s2 then
compare e2 e1
else
compare s1 s2)
removeCoveredIntervals' sorted -1 0