链接:
剑指 Offer 57. 和为s的两个数字
题意:
递增数组里找两个数组和为S,两个数字不能是同一个下标但是值可以相同
解:
基本双指针,前后夹鸡|XD
实际代码:
#include
using namespace std;
vector twoSum(vector& nums, int target)
{
int lg=nums.size(),l=0,r=lg-1;
while(lnums[r]) l++;
if(target-nums[l]==nums[r]) return {nums[l],nums[r]};
}
return {1,1};
}
int main()
{
vector nums;int num,k;cin>>k;
while(cin>>num) nums.push_back(num);
vectorans=twoSum(nums,k);
for(auto a:ans) cout<
限制:
1 <= nums.length <= 10^5
1 <= nums[i] <= 10^6