当前位置: 首页 > article >正文

LeetCode 167. Two Sum II - Input Array Is Sorted 题解

LeetCode 167. Two Sum II - Input Array Is Sorted 题解题目描述给你一个下标从 1 开始的整数数组numbers该数组已按非递减顺序排列请你从数组中找出满足相加之和等于目标数target的两个数。如果设这两个数分别是numbers[index1]和numbers[index2]则1 index1 index2 numbers.length。以长度为 2 的整数数组[index1, index2]的形式返回这两个整数的下标index1和index2。你可以假设每个输入只对应唯一的答案而且你不可以重复使用相同的元素。你所设计的解决方案必须只使用常量级的额外空间。示例 1输入numbers [2,7,11,15], target 9 输出[1,2] 解释2 与 7 之和等于目标数 9 。因此 index1 1, index2 2 。返回 [1, 2] 。示例 2输入numbers [2,3,4], target 6 输出[1,3] 解释2 与 4 之和等于目标数 6 。因此 index1 1, index2 3 。返回 [1, 3] 。示例 3输入numbers [-1,0], target -1 输出[1,2] 解释-1 与 0 之和等于目标数 -1 。因此 index1 1, index2 2 。返回 [1, 2] 。解题思路方法双指针思路使用两个指针left和right分别指向数组的起始位置和结束位置计算sum numbers[left] numbers[right]如果sum target返回[left1, right1]因为下标从 1 开始如果sum target移动left指针向右如果sum target移动right指针向左直到找到答案复杂度分析时间复杂度O(n)其中 n 是数组的长度。只需要遍历数组一次。空间复杂度O(1)只需要常数级的额外空间。代码实现方法双指针class Solution: def twoSum(self, numbers: List[int], target: int) - List[int]: # 初始化双指针 left 0 right len(numbers) - 1 # 双指针遍历 while left right: sum_val numbers[left] numbers[right] if sum_val target: # 返回下标从 1 开始 return [left 1, right 1] elif sum_val target: # 移动左指针向右 left 1 else: # 移动右指针向左 right - 1 # 如果没有找到答案返回空列表 return []测试用例测试用例 1输入numbers [2,7,11,15], target 9输出[1,2]测试用例 2输入numbers [2,3,4], target 6输出[1,3]测试用例 3输入numbers [-1,0], target -1输出[1,2]总结本题是双指针的经典应用问题主要考察对双指针技巧的理解和使用。通过使用双指针我们可以高效地在有序数组中找到两个数使得它们的和等于目标值。双指针的核心思想是使用两个指针分别指向数组的起始位置和结束位置根据它们的和与目标值的关系移动指针直到找到答案。这种方法不仅适用于两数之和 II 问题还可以应用于许多其他需要在有序数组中寻找元素的问题。掌握双指针的使用对于解决这类问题非常重要。

相关文章:

LeetCode 167. Two Sum II - Input Array Is Sorted 题解

LeetCode 167. Two Sum II - Input Array Is Sorted 题解 题目描述 给你一个下标从 1 开始的整数数组 numbers,该数组已按 非递减顺序排列,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers…...

Dify使用大模型的时候,如何可以节省token

在 Dify 中节省 Token 的核心思路是:减少输入长度、优化检索内容、复用计算结果、精简模型调用。以下是具体的实操建议。📝 精简 Prompt 与输入Prompt 是 Token 消耗的大头,优化效果立竿见影。压缩 System Prompt只保留核心指令、角色定义和必…...

终极指南:使用pkNX宝可梦ROM编辑器打造个性化游戏体验

终极指南:使用pkNX宝可梦ROM编辑器打造个性化游戏体验 【免费下载链接】pkNX Pokmon (Nintendo Switch) ROM Editor & Randomizer 项目地址: https://gitcode.com/gh_mirrors/pk/pkNX 你是否曾经想过能够自定义宝可梦游戏,调整精灵属性、修改…...

逆向能力:从“高手”到“破局者”的核心跃迁

逆向能力:从“高手”到“破局者”的核心跃迁摘要正向能力是在既定规则内把事情做好的能力,它能让你成为“高手”,但终究逃不过“强中自有强中手”的桎梏——在无限军备竞赛中,再强的正向优势也会被更强的对手冲垮。逆向能力则是跳…...

NBTExplorer:6大功能解析,图形化数据编辑工具的终极指南

NBTExplorer:6大功能解析,图形化数据编辑工具的终极指南 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer NBTExplorer是一款功能强大的开源编…...

实战EuroSAT遥感分类:3步构建高精度土地利用识别系统 [特殊字符]

实战EuroSAT遥感分类:3步构建高精度土地利用识别系统 🚀 【免费下载链接】EuroSAT EuroSAT: Land Use and Land Cover Classification with Sentinel-2 项目地址: https://gitcode.com/gh_mirrors/eu/EuroSAT EuroSAT数据集为遥感图像分类提供了标…...

鸿蒙_一行代码实现页面间的跳转

通过之前的学习,我们在pages目录下增加了MyPage.ets页面,我们来看一下如何在默认页面(Index.ets)跳转到另一个页面。首先分析下,如下图所示,在页面中有一个onClick方法,功能为点击后改变message…...

开发者必学:Web3.0技术栈全解析

Web3.0时代对软件测试从业者的挑战与机遇Web3.0作为下一代互联网范式,以去中心化、用户数据主权和区块链技术为核心,正重塑软件开发格局。对于软件测试从业者而言,这不仅意味着新的测试挑战——如智能合约安全、分布式系统验证和隐私保护——…...

2026奇点智能技术大会独家授权:多模态安防监控合规红线手册(含GDPR/等保2.0/《公共安全视频图像信息系统管理条例》三重映射表)

第一章:2026奇点智能技术大会:多模态安防监控 2026奇点智能技术大会(https://ml-summit.org) 多模态融合架构设计 本届大会展示的安防监控系统突破传统单模态局限,整合可见光、热成像、毫米波雷达与声纹传感四维数据流。核心采用时间对齐特…...

如何将纸质乐谱转化为数字音乐:Audiveris OMR技术深度解析

如何将纸质乐谱转化为数字音乐:Audiveris OMR技术深度解析 【免费下载链接】audiveris Latest generation of Audiveris OMR engine 项目地址: https://gitcode.com/gh_mirrors/au/audiveris 在数字音乐创作与编辑的时代,纸质乐谱的数字化处理已成…...

React Context 状态同步的常见问题

React Context作为React生态中重要的状态管理工具,通过跨组件层级共享数据的能力简化了开发流程。然而在实际应用中,状态同步问题常常成为开发者的困扰。本文将深入探讨Context状态同步中的典型痛点,帮助开发者规避常见陷阱,构建更…...

地质雷达电磁波仿真终极指南:gprMax开源软件完全解析

地质雷达电磁波仿真终极指南:gprMax开源软件完全解析 【免费下载链接】gprMax gprMax is open source software that simulates electromagnetic wave propagation using the Finite-Difference Time-Domain (FDTD) method for numerical modelling of Ground Penet…...

别再盲目调参了!折叠共源共栅放大器设计的几个关键陷阱与性能权衡(以1GHz带宽为例)

折叠共源共栅放大器设计的深度避坑指南:从1GHz带宽实战看性能平衡艺术 在模拟电路设计的浩瀚海洋中,折叠共源共栅(Folded Cascode)放大器犹如一把双刃剑——它既能提供出色的增益和带宽性能,又可能在细微的参数调整中让…...

【Jenkins】----- Ubuntu 24.04 自动化部署项目 CICD 实战教程(docker+gitee+jenkins+阿里云容器镜像服务 ACR)全网最全

文章目录 Ubuntu 24.04 保姆级 Java 项目 CICD 实战教程 🚀一、前置准备 📋1. 统一创建软件安装目录2. 必须安装的环境 三、服务器授权 Jenkins 操作 Docker 权限 🔑四、阿里云私有镜像仓库配置 🪐1. 开通阿里云容器镜像服务2. 服…...

客户非要乱插12V电源?我用SY8113+升压芯片折腾出的兼容方案与调试血泪史

当客户执意乱插12V电源:一个硬件工程师的兼容方案实战手记 那天会议室里市场部的同事拍着桌子说:"客户坚持要用12V电源适配器!"作为硬件负责人,我盯着手里5V供电的PCB设计图,突然意识到——这可能是今年最棘…...

避坑指南:rosbag合并时你绝对想不到的5个时间戳问题

ROS实战:rosbag合并中5个隐藏的时间戳陷阱与解决方案 在自动驾驶和机器人开发中,rosbag作为数据记录和回放的核心工具,其合并操作看似简单却暗藏玄机。我曾在一个多传感器融合项目中,因为rosbag合并时的时间戳问题导致整整两周的…...

机械狗改装实战:用奥比中光Gemini336L+ROS打造2.5D高程地图(附完整配置代码)

机械狗改装实战:用奥比中光Gemini336LROS打造2.5D高程地图 当二手机械狗遇上深度视觉传感器,会碰撞出怎样的火花?去年我在某科技展上看到一台改装机械狗展示自主避障功能后,便萌生了用低成本方案复现类似效果的想法。经过三个月折…...

EZCard:如何用自动化工具将桌游卡牌制作效率提升400%

EZCard:如何用自动化工具将桌游卡牌制作效率提升400% 【免费下载链接】CardEditor 一款专为桌游设计师开发的批处理数值填入卡牌生成器/A card batch generator specially developed for board game designers 项目地址: https://gitcode.com/gh_mirrors/ca/CardE…...

Colmap 3.6+CUDA版保姆级教程:从图片到3D模型的完整重建流程(附避坑指南)

Colmap 3.6CUDA实战手册:从零开始构建高精度3D模型 在数字内容创作和计算机视觉领域,三维重建技术正以前所未有的速度改变着我们记录和再现世界的方式。想象一下,仅用普通相机拍摄的一组照片,就能还原出物体的立体形态和纹理细节…...

电机控制:PWM 原理与应用

电机控制:PWM原理与应用 在现代工业自动化和智能设备中,电机控制技术扮演着至关重要的角色。其中,脉宽调制(PWM)技术因其高效、灵活的特点,成为电机控制的核心手段之一。无论是家用电器中的风扇调速&#…...

树莓派+匿名飞控:不用遥控器,手把手教你搭建自主无人机的大脑与神经

树莓派匿名飞控:构建无遥控自主无人机的核心技术解析 当传统无人机还在依赖遥控器手动操控时,一种更智能的解决方案正在悄然兴起——通过树莓派与匿名飞控的协同工作,实现完全自主的飞行决策与控制。这种架构不仅解放了操作者的双手&#xf…...

Redis 主从延迟检测与修复

Redis主从延迟检测与修复:保障数据一致性的关键实践 Redis作为高性能内存数据库,主从复制是其高可用架构的核心。网络波动、主库压力激增或从库处理能力不足等因素可能导致主从延迟,进而引发数据不一致风险。本文将深入探讨Redis主从延迟的检…...

银行智能体平台选型困局:自研还是采购?七个思维框架帮你看清“棋眼”

从“作战指挥中心”到“拎包入住”,没有标准答案,只有匹配与否。 借用任正非、毛泽东、段永平、雷军、王阳明、梅宏、徐少春的视角,拆解这道看似简单却极难抉择的选择题。一、困局:一张没有标准答案的考卷银行数智化转型到了深水区…...

2026 Python Web 框架终极对比:一篇看懂 Django/Flask/FastAPI 怎么选

前言在数字化与 AI 深度融合的时代,Python Web 框架已经成为连接 AI 模型与用户的核心桥梁。正如我们上一篇《PythonAI 实战:搭建属于你的智能问答机器人》所实现的本地智能问答系统,最终都需要通过 Web 框架对外提供服务接口、构建交互界面。…...

算力普惠时代:当“算力银行”遇上“中小企业”,一场静默的生产力革命

算力正在成为AI时代的水电煤,但如何让中小企业用得起、用得好?工信部近期发布的普惠算力行动,提出了“算力银行”“算力超市”等创新模式。本文尝试从多位实践者的思维框架出发,拆解这场变革背后的逻辑与路径。一、算力爆发&#…...

springboot基于web的数学库组卷系统_k593i56u_cc066

前言 SpringBoot基于Web的数学库组卷系统是一款专为教育机构、学校及教师设计的在线智能组卷平台。该系统以SpringBoot框架为核心,结合Web前端技术,构建了一个高效、灵活、智能的数学试卷生成与管理系统。系统集成了丰富的数学题库资源,支持教…...

为什么92%的社交分析项目在多模态阶段失败?SITS2026技术负责人亲述4个致命断层

第一章:SITS2026案例:多模态社交媒体分析 2026奇点智能技术大会(https://ml-summit.org) SITS2026(Social Intelligence & Trustworthy Systems 2026)是面向真实世界社交媒体治理的前沿实验平台,其核心任务是联合…...

STM32MP157+AD7606BSTZ四通道IEPE传感器采集方案实战(附完整电路图)

STM32MP157AD7606BSTZ四通道IEPE传感器采集方案实战 工业振动监测领域对数据采集系统的精度和实时性要求极高,而IEPE(Integrated Electronics Piezo-Electric)传感器因其内置信号调理电路的特点,成为振动监测的首选方案。本文将详…...

别再浪费你的ESP32-S3R8了!手把手教你将PSRAM用作高速缓存或大数组存储

解锁ESP32-S3R8的隐藏性能:8MB PSRAM实战开发指南 当你在ESP32-S3R8开发板上运行内存密集型应用时,是否经常遇到"内存不足"的报错?这就像开着跑车却只能以自行车速度行驶——硬件潜力被严重浪费。实际上,这款芯片内置的…...

ADB Push命令保姆级教程:从环境变量配置到解决‘Permission denied’全流程

ADB Push命令实战手册:Windows环境下的零失败文件传输指南 第一次接触ADB命令时,我盯着PowerShell里红色的"Permission denied"错误提示发了半小时呆。作为连接Windows与嵌入式设备的桥梁,ADB的push命令看似简单,却暗藏…...