1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| // @Title: 两数之和 II - 输入有序数组 (Two Sum II - Input Array Is Sorted)
// @Author: 15816537946@163.com
// @Date: 2022-03-17 16:57:42
// @Runtime: 8 ms
// @Memory: 5.2 MB
func twoSum(numbers []int, target int) []int {
for i:=0;i<len(numbers);i++ {
lo, hi := i+1, len(numbers)-1
for lo <= hi {
mid := (lo+hi)>>1
if numbers[mid] == target-numbers[i] {
return []int{i+1, mid+1}
} else if numbers[mid] > target-numbers[i] {
hi = mid-1
} else {
lo = mid+1
}
}
}
return nil
}
|