LeetCode 167. Two Sum II - Input Array Is Sorted in F#
URL
leetcode.com/problems/two-sum-ii-input-arra..
Code
github.com/syohex/dotnet-study/blob/master/..
let twoSum (numbers: int []) (target: int) : (int * int) =
let rec twoSum' left right (numbers: int []) target =
if left >= right then
failwith "never reach here"
else
let sum = numbers.[left] + numbers.[right]
if sum = target then
(left + 1, right + 1)
elif sum < target then
twoSum' (left + 1) right numbers target
else
twoSum' left (right - 1) numbers target
twoSum' 0 (numbers.Length - 1) numbers target