LeetCode167.两数之和 II - 输入有序数组

《算法:一解通全》双指针篇——一篇解破ㄈ双指针技巧」 双指针 链表 数组 滑动窗口 阅读详情

题目:给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。
函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。
说明:
返回的下标值(index1 和 index2)不是从零开始的。
你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。
输入: numbers = [2, 7, 11, 15], target = 9
输出: [1,2]
解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。

思路:双指针

class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int left = 0;
        int right = numbers.length -1;
        int[] num = new int[2];
        while(left < right){
            int sum = numbers[left] + numbers[right];
            if( sum == target){
                num[0] = left+1;
                num[1] = right+1;
                break;   
            }else if(sum > target){
                right--;
            }else {
                left++;
            }
        }

        return num;
    }
}
【中等】力扣算法题解析LeetCode167:两数之和 II-输入有序数组 题目要求在非递减排序数组中找到两数之和等于目标值,并返回其下标(从1开始)。利用双指针技巧,初始化左指针在数组头部,右指针在尾部,通过比较当前和与目标值的差异动态移动指针:若和小则右移左指针,和大则左移右指针。时间复杂度O(n),空间复杂度O(1)。示例:输入[2,7,11,15]和9,输出[1,2]。 阅读详情

相关推荐

RYU+Mininet的SDN架构-设计校园网络(一)

现有一个中学,需要设计一个中小型网络满足学校的网络需求。学校有教学区,实验室区域和服务器区域。教学区为了满足接入的灵活性和信号强度要求,需要满足设计WIFI满足日常教室和同学需求,接入上限为200人。实验室区域需要有一台教师主机方便管理实验室其余电脑,并且教师主机可以访问学校服务器,方便为同学们实验室授课。学校服务器区域设有学校相关重要文件和学校网页相关内容。最后学校还会接入互联网。

weixin_53284122的博客 8034

LeetCode题解:两数之和 II - 输入有序数组

两数之和 II - 输入有序数组 题干 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, ...

余光的博客 971

minist手写数字的识别代码复现(pytorch 版本)

电脑系统:Windows 10语言环境:Python 3.8.18编译器:jupyter notebook深度学习环境:torch == 1.13.1+cu116显卡及显存: Tesla V100-PCIE-32GB卷积神经网络(Convolutional Neural Network,CNN或ConvNet)是一种 具有局部连接、权重共享等特性的深层前馈神经网络. 目前的卷积神经网络一般是由卷积层、汇聚层和全连接层交叉堆叠而成的 前馈神经网络。

2202_75521293的博客 2617

leetcode_167 两数之和II

摘要 本文探讨了有序数组中寻找两数之和等于目标值的问题,比较了两种解法:二分查找和双指针法。二分查找通过固定左指针并在剩余部分二分搜索,时间复杂度为O(nlogn)。更优的双指针法则利用有序性质,通过相向移动指针将复杂度降至O(n)。文章深入分析了双指针法的正确性,指出它通过排除无效枚举对来优化搜索。最后用集合论语言形式化描述了两种枚举策略的本质区别,展示了双指针法如何更高效地覆盖所有可能的有序对组合。

bdn_nbd的博客 1291

WRF-CHEM 新手向实践(四):化学初始/边界场及namelist设置

这是这个系列的最后一节了,这些经验是自己作为一个半路出家的外行一步步摸索出来的,其中不免有很多理解不到位的地方,但也正是如此,我相信这是目前新手入门wrf-chem最友好的教程之一,希望能对大家有实质性的帮助。本节继续未完成的内容。在mozbc生成化学初始和边界条件之前,还需要先在wrfinput文件中开启化学部分。

qq_42335815的博客 4634

【python】import pandas as pd用法

是 Python 里最常用的数据分析库之一。 的意思是:导入 pandas 库,并给它起个别名 。这样用起来更简洁: 下面总结 pandas 的常见用法(配例子)。目录🔹 1. 数据结构(1) Series(一维数据,类似于数组 + 标签)(2) DataFrame(二维数据表,类似于 Excel 表格)🔹 2. 数据读写🔹 3. 数据查看🔹 4. 数据选择与索引🔹 5. 数据清洗🔹 6. 数据运算🔹 7. 数据筛选(布尔索引)🔹 8. 分组与聚合🔹 9. 排序 Pandas 常用方

2401_86285609的博客 1531

LeetCode 167. 两数之和 II - 输入有序数组

给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, 7, 11, 15],...

码奴生来就只知道前进 489

手把手教你用Matlab为PMSM电流环设计2P2Z补偿器(附与PI对比)

本文详细介绍了如何使用Matlab的controlSystemDesigner工具为永磁同步电机(PMSM)电流环设计2P2Z补偿器,并与传统PI控制器进行性能对比。通过频域分析和时域仿真,展示了2P2Z补偿器在提升带宽、减少超调等方面的优势,为高性能伺服驱动和精密运动控制提供了实用解决方案。

weixin_42551227的博客 376

玩转双指针

双指针 概念: 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。 若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。 若两个指针指向同一数组,但是遍历方向相反,则可以用来进行搜索,待搜索的数组往往是排好序的。 Two Sum 167.两数之和 II - 输入有序数组 题解: 因为数组已经排好序,我们可以采用方向相反的双指针来寻找这两个数字,一个初始指向最小的元素,即数组最左边,

田埂、の技术博客 279

tkinter动态表格 - 实时更新数据(TkinterTable)

tkinter动态表格 - 实时更新数据(TkinterTable) 参考 [TkinterTable] Tkinter上的表格GUI】 https://github.com/dmnfarrell/tkintertable/wiki/Usage https://github.com/dmnfarrell/tkintertable/issues/47 python使用tkinter编写一个数据显示窗口(实时显示更新的数据) 首先安装TkinterTable,即pip install tki

qq_33934427的博客 1万+

七天征服AutoSAR/SomeIP_01速成配置并代码生成

本文为AutoSAR中SomeIP配置开发的实操指南摘要,重点介绍通过通信矩阵快速构建SomeIP工程的方法。核心内容包括:1)基于Excel通信矩阵生成系统描述文件(arxml);2)在AutoSAR工具中导入文件自动生成协议栈配置,涵盖ETHIF、SoAd等模块;3)关键报错处理(COM/PDUR/SOAD/SD模块的配置修正);4)SomeIPXF的数据编解码配置;5)SWC组件与RTE任务映射。教程强调"先完成再完美"的实践原则,指导开发者快速生成基础代码框架,为后续协议调试奠定

大叔带刺的博客 302

C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组

C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组   大家好,我叫亓官劼(qí guān jié ),在优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在优快云中写博客,唯一博客更新的地址为:亓官劼的博客 本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 题目 给定一个已按照*升序排列* 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于

一起加油 2053

国科大《人工智能原理与算法》2021年期末试题+2024经验(2025指南)

2021年期末试题+24年复习指南

MatsumotoChrikk 2926

167. 两数之和 II - 输入有序数组【 力扣(LeetCode) 】

给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列 ,请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1

yyh520025的博客 660

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

167. 两数之和 II - 输入有序数组 - 力扣(LeetCode)

题目描述 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, 7, 11, 15], ...

Onwaier的博客 406

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

力扣解题-167. 两数之和 II - 输入有序数组

暴力双指针法(第一次解答):未利用有序特性,O(n²)时间复杂度导致超时,仅适合理解基础思路;首尾双指针法(第二次解答):最优解,O(n)时间+O(1)空间,完全贴合题目要求,是面试/工程首选;二分查找法(备选解):O(n×logn)时间+O(1)空间,效率略低但逻辑通用,适合拓展学习;关键技巧:有序数组的两数之和问题,优先使用首尾双指针法,利用“左小右大”特性精准调整和的大小;避免暴力遍历,充分利用题目给出的“有序”“唯一解”等关键条件;

qq_38261626的博客 920

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

leetcode 两数相加c++_167. 两数之和 II - 输入有序数组

167. 两数之和 II - 输入有序数组给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1和 index2,其中 index1必须小于 index2。说明:返回的下标值(index1和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例1 :输入: numbers = [2, 7, ...

weixin_39904809的博客 185

力扣leetcode之Java刷题167两数之和 II - 输入有序数组

leetcode之Java刷题

小李子Lee 251

力扣leetcode 167. 两数之和 II - 输入有序数组 java

class Solution { public int[] twoSum(int[] numbers, int target) { for(int i=0; i<numbers.length-1; i++) for(int j=i+1; j<numbers.length; j++) if(numbers[...

izhxxx的博客 303

Java实现 LeetCode 167 两数之和 II - 输入有序数组

167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers =...

南 墙 1万+

力扣 #167.两数之和 II - 输入有序数组 JAVA实现

力扣 #167.两数之和 II - 输入有序数组 JAVA实现

weixin_54525144的博客 376

力扣第167题 两数之和 II- 输入有序数组 哈希表 c++ 新手推荐

注意,循环条件应为i < numbers.size(),而不是i <= numbers.size(),因为数组索引是从0开始的。在遍历数组numbers的过程中,对于每个元素numbers[i],我们通过哈希表查找是否存在另一个数target - numbers[i]。>对于空间复杂度来说,这段代码使用了一个哈希表来存储数组元素及其索引,所以空间复杂度为O(n),其中n是数组的长度。C++语言的代码,用于在给定的整数数组numbers中找到两个数,使其和等于给定的目标值target。重复使用相同的元素。

lenyan~的博客 376

#力扣 LeetCode167. 两数之和 II - 输入有序数组 @FDDLC

题目描述: https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/ Java代码: import java.util.HashMap; //已按照升序排列 class Solution { //返回的下标值(index1 和 index2)不是从零开始的;ndex1 必须小于 index2 public int[] twoSum(int[] numbers, int target) { //每个输入只对应唯一.

LiuXingchang的博客 335

【力扣(LeetCode)】【C/C++】【167.两数之和 II - 输入有序数组】

力扣算法刷题

繁华倾夏的博客 324

leetcode 167.两数之和 II - 输入有序数组

leetcode 167.两数之和 II - 输入有序数组 题目描述 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例...

EngineerHe的博客 1621
上一篇: Javascript中var与let的区别
下一篇: JDBC连接池从0到1
Young-_-D
博客等级 码龄8年 62粉丝 106原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值