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

ops/2024/9/19 16:54:13/ 标签: 算法

在这里插入图片描述

算法原理:

其实我们首先想到的方法肯定是暴力,两个for循环嵌套就能找到,但肯定会超时。
其实啊一切算法的总结都是在暴力的基础上进行的,算法其实就是对暴力进一步的优化。
定义两个指针,分别指向两端,然后拿两端值的和和target进行比较,如果target更大:则需要将left++,反之right- -,原理其实很简单:我们知道该数组是升序排列的,因此他的最左边肯定是最小的数,最右边肯定是最大的数,如果此时他们相加的和都要小于target了,肯定是要增大这个和的,而此时只有将left++才能增大这个和。反之类似。

代码实现:
class Solution {public int[] twoSum(int[] price, int target) {int left = 0;int right = price.length - 1;while(left < right ){if(price[left] + price[right] >target){right--;}else if(price[left] +price[right] < target){left++;}else{return new int[]{price[left],price[right]};}}return null;}
}

http://www.ppmy.cn/ops/41540.html

相关文章

输电线路的覆冰

给出一些输电线路的覆冰类型 输电线路的覆冰类型可以根据其形成机理、条件及性质进行不同的分类。以下是一些主要的覆冰类型&#xff1a; 凝华覆冰&#xff1a;这种覆冰是近地表面空气中的水分因气温过低而直接凝结在输电线路表面的一种霜&#xff0c;也被称为晶状雾凇。云中…

软考-下午题-试题一

1、概念 2、答题技巧和规范 问题1、2&#xff1a;直接看 格式&#xff1a; 问题3&#xff1a; 格式&#xff1a; 3、例题 eg2&#xff1a;可以以后写完问题4之后&#xff0c;把问题3补充完整 问题4&#xff1a; 问题4 官方解释&#xff1a; 问题4&#xff08;3‘&#xff09; 2…

百面算法工程师 | YOLOv6面试考点原理全解析

本文给大家带来的百面算法工程师是深度学习目标检测YOLOv6面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们还将介绍一些常见的深度学习目标检测面试问题&#xff0c;并提供参考的回答…

算法详解——回溯法

一、回溯法概述——问题背景 回溯法是一种解决约束满足问题的方法&#xff0c;特别适用于解决组合问题、搜索优化问题等。它通过逐步构建候选解决方案并且在这个解决方案不再可能满足约束或条件时进行剪枝和回溯。具体来说&#xff0c;回溯法可以应用于以下类型的问题&#xff…

OpenMesh 最长边细分算法

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这是一个很简单的算法,其特点在于使用“最长边”(LongestEdge)的某个阈值(T)作为细分的标准,并且这个细分是均匀进行的,即尽量保持各个部分的密度或复杂度相近。 具体的算法描述: 输入:一个初始的图形或网…

AI智能对话绘画二合一系统源码 在线生成绘画 带完整的源代码包以及搭建教程

系统概述 AI智能对话绘画二合一系统源码是一款集成了自然语言处理、深度学习、计算机视觉等多种技术的智能系统。该系统通过强大的自然语言处理能力&#xff0c;能够与用户进行流畅的AI对话&#xff0c;无论是创作构思、风格选择还是技巧咨询&#xff0c;系统都能给出精准的建…

如何让Linux系统崩溃?

如何使 Linux 系统崩溃 警告 下面的代码行是 Bash shell 的一个简短而甜蜜的 fork 炸弹。分叉炸弹之所以有效&#xff0c;是因为它能够产生无限数量的进程。最终&#xff0c;Linux无法处理所有这些&#xff0c;并且会崩溃。 fork 炸弹的一大优点是你不需要 root 权限即可执行它…

Git大文件无法直接push用git lfs track 上传大文件具体操作

Git 因为大文件push失败 回退到git add前用git lfs track单独添加大文件 以下work flow仅代表个人解决问题的办法&#xff0c;有优化流程的欢迎交流 回退到git add前 以下指令回退一个commit git reset --soft HEAD~1以下指令撤销所有git add操作&#xff0c;但不删除本地修…

AUS GLOBAL 与皇家贝蒂斯在对战皇家马德里的比赛日举办现场体验活动

AUS Global 最近前往西班牙庆祝与皇家贝蒂斯的赞助合作&#xff0c;并获得了难忘的比赛日体验&#xff0c;包括在贵宾室中观看皇家贝蒂斯对阵皇家马德里的精彩比赛。 活动开始时&#xff0c;AUS Global 受邀来到皇家贝蒂斯主场贝尼托-比利亚马林体育场的独家 Showbox 贵宾室。…

Redis- 如何防止攻击者利用未授权访问 Redis 服务的攻击获取目标机器的 root 权限

攻击概述 以下攻击步骤展示了如何利用未加防护的 Redis 服务器&#xff0c;通过配置 Redis 的持久化机制&#xff0c;将攻击者的 SSH 公钥写入目标机器的 ~/.ssh/authorized_keys 文件&#xff0c;从而获取目标机器的 root 权限。这是一种典型的利用未授权访问 Redis 服务的攻…

面试题 01.05. 一次编辑

字符串有三种编辑操作:插入一个英文字符、删除一个英文字符或者替换一个英文字符。 给定两个字符串&#xff0c;编写一个函数判定它们是否只需要一次(或者零次)编辑。 示例 1: 输入: first "pale" second "ple" 输出: True示例 2: 输入: first &qu…

基于springboot+vue+Mysql的在线答疑系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

双非二本找工作前的准备day25

学习目标&#xff1a; 每天复习代码随想录上的题目1-2道算法&#xff08;时间充足可以继续&#xff09; 今日碎碎念&#xff1a; 1&#xff09;回溯篇 2&#xff09;已经整理好了工作内容&#xff0c;这两天没写博客是因为在面试&#xff08;两家中厂测开&#xff09;&#…

第一章内容:后续持续更新

感谢咕泡科技的福利&#xff0c;虽然一个保温杯&#xff0c;但干好需要 目录 第一章&#xff1a; GPT-4和ChatGPT的愿景&#xff1a; 技术基础&#xff1a; 应用前景&#xff1a; 超越语音助手&#xff1a; 分析原因&#xff1a; LLM的发展历程&#xff1a; 本章主要介…

[Bug]:由于中国防火墙,无法连接 huggingface.co

问题描述 : OSError: We couldnt connect to https://huggingface.co to load this file, couldnt find it in the cached files and it looks like youscan/ukr-roberta-base is not the path to a directory containing a file named config. Json. Checkout your internet …

前言:为什么学习鸿蒙设备开发

HarmonyOS 是什么&#xff1f;众所周知&#xff0c;HarmonyOS 鸿蒙操作系统是由华为研发的一款面向未来、面向全场景的分布式操作系统&#xff0c;它旨在为各种设备提供统一的操作系统解决方案&#xff0c;从智能手机、平板电脑到智能穿戴设备、智能家居、汽车等各类终端设备都…

【TypeScript】ts中的类型别名(Type)的介绍和使用

简言 类型别名(Type)的介绍和使用。 类型别名特别常用。 类型别名 类型别名就是用关键词type声明的类型&#xff1a; // Name类型 type Name string类型特别简单&#xff0c;他的作用就是定义一个类型的别名&#xff0c;这个类型可以是简单基础类型&#xff0c;也可以是复…

【软件的安装与基本设置】AD21软件的PCB规则设置

在绘制PCB之前&#xff0c;要进行规则的创建&#xff0c;因为在绘制PCB的过程中&#xff0c;难免会出现很多错误&#xff0c;所以需要先对绘制PCB创建规则&#xff0c;即所有的打孔&#xff0c;走线&#xff0c;铺铜都要基于电气性能规则去设计&#xff0c;等到后期&#xff0c…

导航app为什么知道还有几秒变绿灯?

在使用地图导航app行驶至信号灯的交叉路口时&#xff0c;这些应用程序会贴心地告知用户距信号灯变化还有多少秒&#xff0c;无论是即将转为绿灯还是红灯。这一智能化提示不仅使得驾驶员能适时做好起步或刹车的准备&#xff0c;有效缓解了因等待时间不确定而产生的焦虑情绪&…

图像数据预处理——openCV

目录 灰度化 几何变换 图像缩放 中心裁剪 标准化 图像增强 可视化图像 import numpy as np import pandas as pd import json import cv2 import os 灰度化 使用cv2读取图像时&#xff0c;就可以选择读取彩色图像还是灰度图像 image cv2.imread(filename, flags) flags&…