1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
// @Title: 排序数组中两个数字之和 (排序数组中两个数字之和)
// @Author: 15816537946@163.com
// @Date: 2022-03-17 16:42:34
// @Runtime: 0 ms
// @Memory: 2.8 MB
func twoSum(numbers []int, target int) []int {
    n := len(numbers)
    lo, hi :=0,n-1

    for lo<hi {
        sum := numbers[lo] + numbers[hi]
        if sum ==  target {
            return []int{lo, hi}
        } else if sum > target {
            hi--
        } else {
            lo++
        }
    }
    return nil 
}