两数之和 II – 输入有序数组(Java实现)

两数之和 II – 输入有序数组(Java实现)给定一个已按照升序排列的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值index1和index2,其中index1必须小于index2。

大家好,又见面了,我是你们的朋友全栈君。

两数之和 II – 输入有序数组


题目

给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。

函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。

说明:

返回的下标值(index1 和 index2)不是从零开始的。
你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。

分析

该题最简单最暴力的解法就是双重循环,直到找到位置,时间复杂度很高,没有充分利用题目中的条件。

题目中已经给出:数组是升序排列的有序数组。

这样我们就可以使用双指针来求解了:l和r分别指向数组头和尾,当l<r成立时,遍历数组,根据有序数组的特性移动指针,直到找到为止。

代码实现

    /**
     * 167. 两数之和 II - 输入有序数组
     * @param numbers
     * @param target
     * @return
     */
    public int[] twoSum(int[] numbers, int target) {
        int l = 0, r = numbers.length - 1;
        int[] res = new int[2];
        while (l < r){
            if (numbers[l] + numbers[r] == target){
                res[0] = l + 1;
                res[1] = r + 1;
                break;
            }else if (numbers[l] + numbers[r] < target){
                l++;
            }else {
                r--;
            }
        }
        return res;
    }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140827.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据可视化与大数据分析

    数据可视化与大数据分析 商业智能通常被理解为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。而数据分析是商业智通的途径之一,而大数据分析的结果可视化,对经营决策将起着关键作用。 数据可视化软件可以让数据分析师和业务用户利用图表、图形传达信息,帮助读者更加直观地理解数据背后的故事。但试图基于数据可视化来讲述故事的时候,你必须小心,特别是当你长时间沉浸在分析工作中受到熟悉内容蒙蔽的时候。要确…

    2022年6月4日
    40
  • 客服系统源码购买_网联接入商户扣款

    客服系统源码购买_网联接入商户扣款介绍:客服系统多种商户接入客服源码,可以实现一行代码接入客服,非常舒服,支持无限客服,无限坐席!私有化源码部署,数据可控,稳定可靠。可自定义版权、logo。支持网页、微信公众号、小程序、App等任何程序对接。客服数量不限,每个客服又独立管理后台和账户密码。每个账户管理可以添加N个客服并且可以分组。双向微信模板消息通知。支持商品推送,对客服评价。支持客户分组。支持设置问候语,进入对话自动发送消息,可只能分配客服和转接。网盘下载地址:http://kekewl.cc/Evr7Jd0UX7h图

    2022年9月21日
    5
  • 半监督之mixmatch

    半监督之mixmatch自洽正则化:以前遇到标记数据太少,监督学习泛化能力差的时候,人们一般进行训练数据增广,比如对图像做随机平移,缩放,旋转,扭曲,剪切,改变亮度,饱和度,加噪声等。数据增广能产生无数的修改过的新图像,扩大训练数据集。自洽正则化的思路是,对未标记数据进行数据增广,产生的新数据输入分类器,预测结果应保持自洽。即同一个数据增广产生的样本,模型预测结果应保持一致。此规则被加入到损失函数中,有如下形式,其中x是未标记数据,Augment(x)表示对x做随机增广产生的新数据,θ是模型参数,y是模型预测结.

    2025年8月9日
    2
  • 通信端口感叹号_PCI简易通讯控制器有黄色感叹号怎么办?

    通信端口感叹号_PCI简易通讯控制器有黄色感叹号怎么办?近日有网友新安装了Win7系统,安装完成后感觉电脑都顺畅了很多,不过在打开设备管理器的时候发现,在其他设备下的PCI简易通讯控制器有个黄色感叹号,出现这个感叹号也意味着这个控制器的驱动未安装,对此我们该如何解决呢?解决方法1、打开设备管理器,右键点击“PCI简易通讯控制器”,在下拉菜单中点击属性;2、在打开的“PCI简易通讯控制器属性”窗口显示:该设备的驱动程序未被安装,我们点击更新驱动程序;3…

    2022年5月25日
    194
  • 分子生物学数据库综合目录「建议收藏」

    分子生物学数据库综合目录「建议收藏」SRS序列查询系统http://www.embl-heidelberg.de/srs5/分子生物学数据库及服务器概览http://www.ai.sri.com/people/pkarp/mimbd/rsmith.htmlBioMedNet图书馆http://biomednet.comDBGET数据库链接http://www.genome.ad.jp/dbg

    2022年7月11日
    15
  • Codeforces 414B

    Codeforces 414B题目链接

    2022年5月11日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号