35. Search Insert Position in F#

URL

Search Insert Position - LeetCode

Code

https://github.com/syohex/dotnet-study/tree/master/fsharp/leetcode/main.fsx

let searchInsert (nums: int[]) (target: int) : int =
    let rec searchInsert' (nums: int[]) left right =
        if left > right then
            left
        else
            let mid = left + (right - left) / 2

            if nums.[mid] = target then
                mid
            elif target < nums.[mid] then
                searchInsert' nums left (mid - 1)
            else
                searchInsert' nums (mid + 1) right

    searchInsert' nums 0 (nums.Length - 1)