167-两数之和 II - 输入有序数组
思路:双指针 (头尾指针)
ts
function twoSum(numbers: number[], target: number): number[] {
let head = 0
let tail = numbers.length - 1
// 头尾指针所在位值的和
let sum
while (head < tail) {
sum = numbers[head] + numbers[tail]
// 题意说明必定会有一个答案
// 题意要求从下标 1 开始,所以结果 + 1
if (sum === target) return [head + 1, tail + 1]
else if (sum > target) tail--
else head++
}
}function twoSum(numbers: number[], target: number): number[] {
let head = 0
let tail = numbers.length - 1
// 头尾指针所在位值的和
let sum
while (head < tail) {
sum = numbers[head] + numbers[tail]
// 题意说明必定会有一个答案
// 题意要求从下标 1 开始,所以结果 + 1
if (sum === target) return [head + 1, tail + 1]
else if (sum > target) tail--
else head++
}
}
Ayingotts's notes