Here's the one I mentioned before. It comes as sorted array.
1 class Solution { 2 public: 3 vector<int> twoSum(vector<int> &numbers, int target) { 4 int start = 0, end = numbers.size()-1, sum = 0; 5 vector<int> result(2); 6 while (start < end) { 7 sum = numbers[start] + numbers[end]; 8 if (sum == target) { 9 result[0] = start+1; 10 result[1] = end+1; 11 return result; 12 } 13 if (sum > target) end--; 14 else start++; 15 } 16 } 17 };
本文介绍了一种解决两数之和问题的有效算法实现。通过使用双指针技术,在已排序的整数数组中寻找两个数使得它们的和等于特定目标值。此方法的时间复杂度为O(n),适用于需要高效查找配对元素的场景。
73

被折叠的 条评论
为什么被折叠?



