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
相关推荐
爱编程的鱼13 分钟前
C# 结构(Struct)
开发语言·人工智能·算法·c#
啊我不会诶21 分钟前
CF每日4题
算法
uhakadotcom38 分钟前
人工智能如何改变医疗行业:简单易懂的基础介绍与实用案例
算法·面试·github
吴_知遇1 小时前
【华为OD机试真题】428、连续字母长度 | 机试真题+思路参考+代码解析(E卷)(C++)
开发语言·c++·华为od
LaoWaiHang2 小时前
MFC案例:使用键盘按键放大、缩小窗口图像的实验
c++·mfc
山北雨夜漫步2 小时前
机器学习 Day14 XGboost(极端梯度提升树)算法
人工智能·算法·机器学习
到底怎么取名字不会重复2 小时前
Day10——LeetCode15&560
c++·算法·leetcode·哈希算法·散列表
chuxinweihui2 小时前
数据结构——二叉树,堆
c语言·开发语言·数据结构·学习·算法·链表
freexyn3 小时前
Matlab自学笔记五十一:(推荐)输入参数的数量和可变数量的输入
笔记·算法·matlab
陈大大陈3 小时前
基于 C++ 的用户认证系统开发:从注册登录到Redis 缓存优化
java·linux·开发语言·数据结构·c++·算法·缓存