LeetCode 1846. Maximum Element After Decreasing and Rearranging in F#
URL
Maximum Element After Decreasing and Rearranging - LeetCode
Code
https://github.com/syohex/dotnet-study/tree/master/fsharp/leetcode/problems/1846/main.fsx
let maximumElementAfterDecrementingAndRearranging (arr: int list) : int =
let rec f arr prev =
match arr with
| [] -> prev
| h :: t -> if h - prev > 1 then f t (prev + 1) else f t h
let arr' = List.sort arr
f (List.tail arr') 1