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
相关推荐
爱写代码的小朋友1 小时前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
小小晓.2 小时前
C++:语句和作用域
开发语言·c++
fqbqrr2 小时前
2607C++,soui,xplayer视频播放器
c++·soui
wanderist.2 小时前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
zh路西法3 小时前
【10天速通ROS2-PX4无人机】(四) 关掉GPS和气压计,纯激光定位还能飞吗
c++·无人机·px4·ros2·卡尔曼滤波·fastlio2
稚南城才子,乌衣巷风流3 小时前
支配树(Dominator Tree)详解:概念、算法与应用
算法
稚南城才子,乌衣巷风流3 小时前
动态开点:原理、实现与应用场景
数据结构·算法
yyds_yyd_100864 小时前
1464. 数组中两元素的最大乘积(2026.07.27)
数据结构·c++·算法·leetcode
KaMeidebaby5 小时前
卡梅德生物技术快报 | 核酸适配体文库测序:核酸适配体文库测序的技术原理、实验流程与数据解析
前端·网络·数据库·人工智能·算法