当前位置:网站首页>leetcode 006. 排序数组中两个数字之和
leetcode 006. 排序数组中两个数字之和
2022-08-04 16:16:00 【Promising_mi】
给定一个已按照 升序排列 的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于目标数 target 。
函数应该以长度为 2 的整数数组的形式返回这两个数的下标值。numbers 的下标 从 0 开始计数 ,所以答案数组应当满足 0 <= answer[0] < answer[1] < numbers.length 。
假设数组中存在且只存在一对符合条件的数字,同时一个数字不能使用两次。
示例 1:
输入:numbers = [1,2,4,6,10], target = 8
输出:[1,3]
解释:2 与 6 之和等于目标数 8 。因此 index1 = 1, index2 = 3 。
示例 2:
输入:numbers = [2,3,4], target = 6
输出:[0,2]
提示:
2 <= numbers.length <= 3 * 104
-1000 <= numbers[i] <= 1000
numbers 按 递增顺序 排列
-1000 <= target <= 1000
仅存在一个有效答案
思路:
使用双指针来判断 2个数的和 和 target 的关系。
i , j 指针分别指向头部和尾部,
- 如果他们的和大于 target ,那么将 尾指针 向前移,因为后面的数可能本身就大于 target,将 i 向后移的话,2个数的和只会比target更大。
- 如果他们的和小于 target ,将 i 向后移动。
- 如果2个数的和等于 target 且 i != j (即满足一个数不能使用2次),那么就找到了。
class Solution {
public:
vector<int> twoSum(vector<int>& numbers, int target) {
vector<int> v;
int i=0,j=numbers.size()-1;
while(i<j){
if(numbers[i]+numbers[j]>target)
--j;
else if(numbers[i]+numbers[j]<target)
++i;
else if(numbers[i]+numbers[j]==target&&i!=j){
v.push_back(i);
v.push_back(j);
break;
}
}
return v;
}
};
边栏推荐
- Jenkins 如何玩转接口自动化测试?
- 备战9月,美团50道软件测试经典面试题及答案汇总
- 生产环境重大bug,update加上索引字段会走索引进行更新?还是走全表扫描
- 不需要服务器,教你仅用30行代码搞定实时健康码识别
- JVM Tuning-GC Fundamentals and Tuning Key Analysis
- The electromagnetic compatibility EMC protection study notes
- Real-Time Rendering 4th related resource arrangement (no credit required)
- 【IDEA】idea配置
- 第三章 Scala运算符
- 推荐 7 月份 yyds 的开源项目
猜你喜欢

Redis的主从复制和集群

【TA-霜狼_may-《百人计划》】美术2.7 Metallic 与 Speculer流程

LeetCode·84.柱状图中最大的矩形·单调递增栈

【IDEA】idea配置

可视化大屏丑?这篇文章教你如何做美观大屏!

备战9月,美团50道软件测试经典面试题及答案汇总

荐书 | 《大脑的奥秘:人人要懂的脑科学》:大脑里面有什么

面试官:多个线程执行完毕后,才执行另一个线程,该怎么做?

GPS satellite synchronization clock, NTP network synchronization clock, Beidou clock server (Jingzhun)

工龄10年的测试员从大厂“裸辞”后...
随机推荐
Steady Development | Data and Insights on Mobile Game Players in Western Europe
Win10 无线网卡驱动感叹号,显示错误代码56
[TA-Frost Wolf_may-"Hundred Talents Project"] Art 2.7 Metallic and Speculer Process
云存储硬核技术内幕——(13) 抓手,组合拳与闭环
备战9月,美团50道软件测试经典面试题及答案汇总
无心剑七绝《七夕牵手》
An article to answer what is the product library of the DevOps platform
荐书 | 《大脑的奥秘:人人要懂的脑科学》:大脑里面有什么
成功 解决 @keyup.enter=“search()“ 在el-input 组件中不生效的问题
不需要服务器,教你仅用30行代码搞定实时健康码识别
现代 ABAP 编程语言中的正则表达式
flink cdc怎么指定位点,从某个位点开始消费mysql的Binlog?
EMQ云端与局域网实现桥接功能
容器化 | 在 NFS 备份恢复 RadonDB MySQL 集群数据
Roslyn 在 msbuild 的 target 判断文件存在
贝叶斯优化核极限学习机KELM用于回归预测
软考 --- 软件工程(2)软件开发方法
UWP 转换 IBuffer 和其他类型
面试官:多个线程执行完毕后,才执行另一个线程,该怎么做?
js判断一个对象是否在一个对象数组中