Cover image for 面试经典150题 P167 两数之和 II - 输入有序数组

面试经典150题 P167 两数之和 II - 输入有序数组


时间轴

时间轴

2025-11-10

init

双指针

题目:

双指针分别指向头和尾,如果两个指针指向的值相加大于 target,就让尾指针左移,减小两个指针相加的和;如果两个指针指向的值相加小于 target,就让头指针右移,增加两个指针相加的和。

123456789101112131415161718192021
#include <vector>using std::vector;class Solution {    public:	vector<int> twoSum(vector<int> &numbers, int target)	{		int i = 0, j = numbers.size() - 1, curr;		while (i < j) {			curr = numbers[i] + numbers[j];			if (curr < target) {				i++;			} else if (curr > target) {				j--;			} else {				break;			}		}		return { i + 1, j + 1 };	}};
评论加载中…