查找总价格为目标值的两个商品【双指针】

news/2024/5/19 22:31:34 标签: c语言, 算法, 推荐算法, leetcode, 双指针

在这里插入图片描述

这道题实际上跟本专栏上一题属于同一类型,是上一题的简单版,可以点击跳跃。

有效三角形的个数【双指针

法一:暴力求解

class Solution
{
public:
    vector<int> twoSum(vector<int> &nums, int target)
    {
        int n = nums.size();
        for (int i = 0; i < n; i++)
        {
            // 第⼀层循环从前往后列举第⼀个数
            for (int j = i + 1; j < n; j++)
            {                                    // 第⼆层循环从 i 位置之后列举第⼆个数
                if (nums[i] + nums[j] == target) // 两个数的和等于目标值 已经找到结果
                    return {nums[i], nums[j]};
            }
        }
        return {-1, -1};
    }
};

对撞指针:思路和上篇一致

class Solution
{
public:
    vector<int> twoSum(vector<int> &nums, int target)
    {
        int left = 0, right = nums.size() - 1;
        while (left < right)
        {
            int sum = nums[left] + nums[right];
            if (sum > target)
                right--;
            else if (sum < target)
                left++;
            else
                return {nums[left], nums[right]};
        }

        return {-1, -1};
    }
};

http://www.niftyadmin.cn/n/5456139.html

相关文章

OpenGL 实现“人像背景虚化“效果

手机上的人像模式,也被人们称作“背景虚化”或 ”双摄虚化“ 模式,也称为 Bokeh 模式,能够在保持画面中指定的人或物体清晰的同时,将其他的背景模糊掉。突出画面的主体部分,主观上美感更强烈。 人像模式的一般实现原理是,利用双摄系统获取景深信息,并通过深度传感器和图…

进程与线程(Thread)

1.相关概念 (1). 程序(program) : 为完成特定任务&#xff0c;用某种语言编写的一组指令的集合.即指一块静态的代码. (2). 进程(progress) : 程序的一次执行过程&#xff0c;或者是正在运行中的应用程序(如正在运行的QQ&#xff0c;正在运行的网易第五人格). 每一个进程都有…

RabbitMQ 实验消费原始队列消息, 拒绝(reject)投递死信交换机过程

如果你想通过 RabbitMQ 的死信队列功能实现消费者拒绝消息投递到死信交换机的行为&#xff0c;你可以按照以下步骤操作&#xff1a; 创建原始队列&#xff0c;并将其绑定到一个交换机上&#xff1a; export RABBITMQ_SERVER127.0.0.1 export RABBITMQ_PORT5672 export RAB…

C++堆详细讲解

介绍 二叉堆是一种基础数据结构&#xff0c;主要应用于求出一组数据中的最大最小值。C 的STL中的优先队列就是使用二叉堆。 堆的性质 : 1 . 堆是一颗完全二叉树 ; 2 . 堆分为大根堆 和 小根堆(这里不讨论那些更高级的如:二叉堆&#xff0c;二叉堆&#xff0c;左偏树等等) …

政安晨:【深度学习实践】【使用 TensorFlow 和 Keras 为结构化数据构建和训练神经网络】(三)—— 随机梯度下降

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 这篇文章中&#xff0c;咱们将使用Keras和TensorFlow…

git add 和 git commit 操作撤销。

撤销 Git Add 和 Git Commit 操作 撤销 git add 操作 如果你想撤销对某个文件的 git add 操作&#xff0c;可以使用以下命令&#xff1a; git reset <file>这将会将指定的文件从暂存区&#xff08;staging area&#xff09;中移除。 如果你想撤销对所有文件的 git add…

如何在Linux系统使用Docker本地部署Halo网站并实现无公网IP远程访问

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 1. Docker部署Halo1.1 检查Docker版本如果未安装Docker可…

2024 年学习 AI 路线图

2024 年学习 AI 路线图 一、数学二、工具2.1 Python2.2 PyTorch 三、机器学习3.1 从头开始编写3.2 参加比赛3.3 做副业项目3.4 部署模型3.5 补充材料 四、深度学习4.1 fast.ai4.2 多参加一些比赛4.3 论文实现4.4 计算机视觉4.5 强化学习4.6 自然语言处理 五、大型语言模型5.1 观…