力扣两数之和 II - 输入有序数组
题目:给定一个已按照 非递减顺序排列 的整数数组 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 - 输入有序数组相关推荐
- 力扣 167. 两数之和 II - 输入有序数组
167. 两数之和 II - 输入有序数组 给定一个已按照 非递减顺序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target . 函数应该以长度为 2 的整数数 ...
- leetcode 两数相加c++_167. 两数之和 II - 输入有序数组
167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1和 index2,其中 index1必须小 ...
- c++两个数组对比去掉重复的元素_LeetCode 题解 | 167.两数之和 II 输入有序数组...
点击上方蓝字设为星标 下面开始今天的学习- 力扣 167.两数之和 II - 输入有序数组(点击文末阅读原文查看题目)题目描述 给定一个已按照 升序排列 的有序数组,找到两个数使得它们相加之和等于目标 ...
- leetcode(167)两数之和 II - 输入有序数组
两数之和 II - 输入有序数组 给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target . 函数应该以长度为 2 的整数数组的形式返回这两 ...
- leetcode167. 两数之和 II - 输入有序数组
leetcode167. 两数之和 II - 输入有序数组 题目描述 链接: leetcode167. 给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目 ...
- C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组
C/C++描述 LeetCode 167. 两数之和 II - 输入有序数组 大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在 ...
- 167. 两数之和 II - 输入有序数组
167. 两数之和 II - 输入有序数组 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必 ...
- 两数之和 II - 输入有序数组(Java实现)
两数之和 II - 输入有序数组 题目 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小 ...
- LeetCode 167. 两数之和 II - 输入有序数组(双指针)
1. 题目 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明: ...
最新文章
- Bootstrap框架和inconfont、font-awesome使用
- 一个类的实例是另一个类的属性python_Python中的类属性和实例属性引发的一个坑...
- HP计算机管理软件,惠普电脑硬件诊断工具
- Adapter pattern
- BZOJ2212——线段树合并
- 北京内推 | 微软亚洲研究院机器学习组招聘AI for Health实习生
- Android-源码剖析CountDownTimer(倒计时类)
- 如何读取服务器信息吗,New Features Introduced in IIS 10.0 Version 1709
- TCP性能和发送接收窗口、Buffer的关系
- python如何编写树_如何用Python画一颗小树?
- Python Mysql 数据库操作
- 个人空间html5主页面,2.HTML 教程- (HTML5 简介)
- SONiC镜像编译指南(转,参考1)
- artDialog双击会关闭对话框的修改
- 中国电信校园宽带客户端连接服务器无响应,天翼校园客户端出现了错误码,是在提示什么?...
- 军用加固便携式计算机,PCI/PCIe
- Gitlab的使用(内含Git命令大全)
- java怎么求传递闭包_利用定义求解传递闭包的关系矩阵
- Linux 用户账号安全管理,文件系统和日志
- 编译jitsi-meet安卓遇到的问题