题目:给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。

我的代码:
对撞指针

class Solution {public int[] twoSum(int[] numbers, int target) {int low = 0;//指向头int high = numbers.length - 1;//指向尾while(low<high){if(numbers[low]+numbers[high]==target){return new int[]{low+1,high+1};}else if(numbers[low]+numbers[high]<target){low++;}else{high--;}}return new int[]{-1,-1};}
}

二分法

class Solution {public int[] twoSum(int[] numbers, int target) {for(int i = 0;i<numbers.length;++i){//每轮确定一个元素int low = i+1;//从确定元素的下一个数开始寻找int high = numbers.length-1;while(low<=high){//是可以取等的,因为可以是目标元素int mid = (low+high)/2;if(target-numbers[i]==numbers[mid]){return new int[]{i+1,mid+1};}else if(target-numbers[i]<numbers[mid]){high = mid -1;}else{low = mid+1;}}}return new int[]{-1,-1};}
}


1.二分法还是比较耗时的
2.如果数组无序,可以用暴力法,也是最容易想到的
3.如果有序,那应该自然想到二分查找法

力扣两数之和 II - 输入有序数组相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. LeetCode 167. 两数之和 II - 输入有序数组(双指针)

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

最新文章

  1. Bootstrap框架和inconfont、font-awesome使用
  2. 一个类的实例是另一个类的属性python_Python中的类属性和实例属性引发的一个坑...
  3. HP计算机管理软件,惠普电脑硬件诊断工具
  4. Adapter pattern
  5. BZOJ2212——线段树合并
  6. 北京内推 | 微软亚洲研究院机器学习组招聘AI for Health实习生
  7. Android-源码剖析CountDownTimer(倒计时类)
  8. 如何读取服务器信息吗,New Features Introduced in IIS 10.0 Version 1709
  9. TCP性能和发送接收窗口、Buffer的关系
  10. python如何编写树_如何用Python画一颗小树?
  11. Python Mysql 数据库操作
  12. 个人空间html5主页面,2.HTML 教程- (HTML5 简介)
  13. SONiC镜像编译指南(转,参考1)
  14. artDialog双击会关闭对话框的修改
  15. 中国电信校园宽带客户端连接服务器无响应,天翼校园客户端出现了错误码,是在提示什么?...
  16. 军用加固便携式计算机,PCI/PCIe
  17. Gitlab的使用(内含Git命令大全)
  18. java怎么求传递闭包_利用定义求解传递闭包的关系矩阵
  19. Linux 用户账号安全管理,文件系统和日志
  20. 编译jitsi-meet安卓遇到的问题

热门文章

  1. docker更换国内镜像源
  2. kail利用msf工具对ms10-087漏洞入侵渗透WinXP
  3. 字符集_第07期:有关 MySQL 字符集的 SQL 语句
  4. 移动端UC /QQ 浏览器的部分私有Meta 属性
  5. Angularjs基础(十)
  6. display详细说明
  7. 前端入行两年--教会了我这些道理
  8. 去除IE10自带的清除按钮
  9. CSS 学习路线(一)元素
  10. 题解 P3811 【【模板】乘法逆元】