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

函数应该返回这两个下标值 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) {for(int i=0;i<numbers.length-1;i++){int res=bs(numbers,target-numbers[i],i);if(res!=-1)return new int[]{i+1,res+1};}return new int[2];}public int bs(int[] numbers, int target,int pos) {int low=pos+1,high=numbers.length-1;while (low<=high){int mid=((high-low)>>1)+low;if(numbers[mid]>target)high=mid-1;else if(numbers[mid]<target)low=mid+1;else return mid;}
return  -1;}
}

leetcode167. 两数之和 II - 输入有序数组(二分查找)相关推荐

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

    leetcode167. 两数之和 II - 输入有序数组 题目描述 链接: leetcode167. 给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目 ...

  2. 双指针思路简单易懂的LeetCode167. 两数之和 II - 输入有序数组

    题目信息: 给定一个已按照非递减顺序排列的整数数组 numbers, 请你从数组中找出两个数满足相加之和等于目标数target .函数应该以长度为 2 的整数数组的形式返回这两个数的下标值. numb ...

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

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

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

    两数之和 II - 输入有序数组 给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target . 函数应该以长度为 2 的整数数组的形式返回这两 ...

  5. c++两个数组对比去掉重复的元素_LeetCode 题解 | 167.两数之和 II 输入有序数组...

    点击上方蓝字设为星标 下面开始今天的学习- 力扣 167.两数之和 II - 输入有序数组(点击文末阅读原文查看题目)题目描述 给定一个已按照 升序排列 的有序数组,找到两个数使得它们相加之和等于目标 ...

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

    167. 两数之和 II - 输入有序数组 给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target . 函数应该以长度为 2 的整数数 ...

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

    C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在 ...

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

    167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必 ...

  9. 两数之和 II - 输入有序数组(Java实现)

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

最新文章

  1. Cell: 为了PK抗生素而服用益生菌?后果竟然如此严重
  2. CVPR 2021 论文大盘点-行人技术篇
  3. codeforces 1060b Maximum Sum of Digits(思维题)
  4. Metadata Service 最高频的应用 - 每天5分钟玩转 OpenStack(164)
  5. linux下kegg注释软件,KEGG数据中全部代谢反应和代谢物注释信息的下载
  6. 控制台应用程序换换为窗体应用_Epic为开发者设计了一套iPhone使用的运动捕捉应用程序...
  7. 易方机器人教育怎么样_定州3岁以上儿童机器人教学多少钱
  8. 【POJ1088】滑雪
  9. rust笔记11 生命周期引用有效性
  10. Python项目开发公用方法--excel生成方法
  11. Arduino U8glib库中的中文字体
  12. php条形码宽度,PHP条形码生成封装类
  13. 国内各大高校开源镜像站
  14. python 正则findall右斜杠_Python正则表达式匹配反斜杠问题解析
  15. 一劳永逸安装程序无法继续 Microsoft Runtime DLL 安装程序未能完成安装
  16. 备战软考,怎样复习才最有效?
  17. 股票学习-量柱和k线-第二天
  18. easyUI的基本知识
  19. 李彦宏:为理想找到归宿
  20. uni.getLocation(Object)获取经纬度和当前中文地址

热门文章

  1. MySQL提高插入数据的效率(结合JDBC)
  2. 516. 最长回文子序列
  3. 使用CreateFile读写文件
  4. 【原理+实战+视频+源码】docker映射端口教程
  5. 阿里P8亲自讲解!java声明类的语法格式
  6. 细数Android开发者的艰辛历程,全网最新
  7. org.dom4j.DocumentException: null Nested exception: null解决方法
  8. 【Python算法】遍历(Traversal)、深度优先(DFS)、广度优先(BFS)
  9. 安卓中经常使用控件遇到问题解决方法(持续更新和发现篇幅)(在textview上加一条线、待续)...
  10. 习惯看新闻头条 一个程序员分享的工作心得