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++17 std::optional 深拷贝 vs 引用:unordered_map 查询大对象性能对比
c++
Dontla28 分钟前
Makefile介绍(Makefile教程)(C/C++编译构建、自动化构建工具)
c语言·c++·自动化
Xの哲學34 分钟前
Perf使用详解
linux·网络·网络协议·算法·架构
想不明白的过度思考者44 分钟前
数据结构(排序篇)——七大排序算法奇幻之旅:从扑克牌到百亿数据的魔法整理术
数据结构·算法·排序算法
小七rrrrr1 小时前
动态规划法 - 53. 最大子数组和
java·算法·动态规划
code小毛孩1 小时前
leetcodehot100 矩阵置零
算法
何妨重温wdys1 小时前
矩阵链相乘的最少乘法次数(动态规划解法)
c++·算法·矩阵·动态规划
重启的码农1 小时前
ggml 介绍 (6) 后端 (ggml_backend)
c++·人工智能·神经网络
重启的码农1 小时前
ggml介绍 (7)后端缓冲区 (ggml_backend_buffer)
c++·人工智能·神经网络
姜不吃葱1 小时前
【力扣热题100】双指针—— 接雨水
数据结构·算法·leetcode·力扣热题100