1、原题
Input: numbers={2, 7, 11, 15}, target=9
Output: index1=1, index2=2
题目描述:在有序数组中找出两个数,使它们的和为 target。
2、思路
和第一题是一样的题,这次使用的是双指针的方法
3、代码
class Solution {
func twoSum(_ numbers: [Int], _ target: Int) -> [Int] {
// 使用双指针
var i = 0
var j = numbers.count - 1
while i < j {
let sum = numbers[i] + numbers[j]
if sum > target {
j -= 1
} else if sum < target {
i += 1
} else {
return [i + 1, j + 1]
}
}
return []
}
}
网友评论