欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > c/c++ >内容正文

c/c++

Leetcode 167. 两数之和 II - 输入有序数组 解题思路及C++实现

发布时间:2025/4/16 c/c++ 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Leetcode 167. 两数之和 II - 输入有序数组 解题思路及C++实现 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

解题思路:

因为数组本身是有序的,所以比较简单。定义两个指针,分别指向数组的头部和尾部。

偏大的话,就将尾部指针向前移一位;

偏小的话,就将头部指针向后移一位。

 

class Solution { public:vector<int> twoSum(vector<int>& numbers, int target) {//定义两个指针 i,j,分别指向头部和尾部int i = 0;int j = numbers.size() - 1;vector<int> res;while(i < j){if(numbers[i] + numbers[j] == target){res.push_back(i+1);res.push_back(j+1);return res;}else if(numbers[i] + numbers[j] > target) //偏大j--;else i++; //偏小了}return {};} };

 

 

 

总结

以上是生活随笔为你收集整理的Leetcode 167. 两数之和 II - 输入有序数组 解题思路及C++实现的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。