167. 两数之和 II - 输入有序数组
在有序数组中找出两个数,使它们的和为 target。
示列 1:
输入:numbers = [2,7,11,15], target = 9
输出:[1,2]
解释:2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2
func twoSum(numbers []int, target int) []int {
//判断边界条件
if len(numbers) == 0 {
return nil
}
//初始化两个指针位置
start, end := 0, len(numbers)-1
//建立循环结束条件
for start < end {
//设置函数返回值边界条件
if numbers[start]+numbers[end] == target {
return []int{start + 1, end + 1}
}
//因为是有序数组,从小到大排列
//故当两数之和较大时,end--
//两数之和较小时,start++
if numbers[start]+numbers[end] > target {
end--
} else {
start++
}
}
return nil
}