2023-08-05力扣今日七题

链接:

剑指 Offer 57. 和为s的两个数字

题意:

递增数组里找两个数组和为S,两个数字不能是同一个下标但是值可以相同

解:

基本双指针,前后夹鸡|XD

实际代码:

c++ 复制代码
#include<bits/stdc++.h>
using namespace std;
vector<int> twoSum(vector<int>& nums, int target)
{
    int lg=nums.size(),l=0,r=lg-1;
    while(l<r)
    {
        while(l<r&&target-nums[l]<nums[r]) r--;
        while(l<r&&target-nums[l]>nums[r]) l++;
        if(target-nums[l]==nums[r]) return {nums[l],nums[r]};
    }
    return {1,1};
}
int main()
{
    vector<int> nums;int num,k;cin>>k;
    while(cin>>num) nums.push_back(num);
    vector<int>ans=twoSum(nums,k);
    for(auto a:ans) cout<<a<<endl;
    return 0;
}

限制:

  • 1 <= nums.length <= 10^5
  • 1 <= nums[i] <= 10^6
相关推荐
helloworldandy7 小时前
高性能图像处理库
开发语言·c++·算法
2401_836563187 小时前
C++中的枚举类高级用法
开发语言·c++·算法
bantinghy7 小时前
Nginx基础加权轮询负载均衡算法
服务器·算法·nginx·负载均衡
chao1898447 小时前
矢量拟合算法在网络参数有理式拟合中的应用
开发语言·算法
代码无bug抓狂人7 小时前
动态规划(附带入门例题)
c语言·算法·动态规划
EmbedLinX8 小时前
C++ 面向对象
开发语言·c++
weixin_445402308 小时前
C++中的命令模式变体
开发语言·c++·算法
季明洵8 小时前
C语言实现顺序表
数据结构·算法·c·顺序表
Hgfdsaqwr8 小时前
实时控制系统优化
开发语言·c++·算法
CSDN_RTKLIB8 小时前
Visual Studio不改变文件编码情况下解决C2001
c++·ide·visual studio