当前位置:网站首页>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;
}
};
边栏推荐
- 吴恩达机器学习[13]-支持向量机
- 线上一次JVM FullGC搞得整晚都没睡,彻底崩溃
- Real-Time Rendering 4th相关资源整理(无需积分 传火)
- No server is required, teach you to get real-time health code recognition with only 30 lines of code
- 74行代码实现浪漫的红心下落的动画效果
- 2022-08-04日报:量化细胞内的信息流:机器学习时代下的研究进展
- 现代 ABAP 编程语言中的正则表达式
- Crawler Xiaobai Notes (yesterday's supplement to pay attention to parsing data)
- 面渣逆袭:MySQL六十六问,两万字+五十图详解
- GPS satellite synchronization clock, NTP network synchronization clock, Beidou clock server (Jingzhun)
猜你喜欢
奖金池高达 20 万,RTE 2022 创新编程挑战赛正式开启
吴恩达机器学习[9]-神经网络学习
线上一次JVM FullGC搞得整晚都没睡,彻底崩溃
Visual Studio 2022创建项目没有CUDA模板的解决方法
吴恩达机器学习[13]-支持向量机
不需要服务器,教你仅用30行代码搞定实时健康码识别
An article to answer what is the product library of the DevOps platform
gcc7.5.0编译ceres-solver报错‘is_trivially_default_constructible’ is not a member of ‘std’
Typora收费?搭建VS Code MarkDown写作环境
【Jprofile 11.0 安装】
随机推荐
云存储硬核技术内幕——(11) 女子会所的秘密
录音文件识别
Projector reached the party benefits 】 【 beginners entry - brightness projection and curtain selection - from entry to the master
To ensure that the communication mechanism
Summary of some pytorch knowledge points that have been updated for a long time
[TA-Frost Wolf_may-"Hundred Talents Project"] Art 2.7 Metallic and Speculer Process
HCIP笔记(8)
In action: 10 ways to implement delayed tasks, with code!
PAT 甲级 A1072 Gas Station
NFT blind box mining system dapp development NFT chain game construction
How to monitor code cyclomatic complexity by refactoring indicators
#夏日挑战赛# HarmonyOS 实现一个滑块验证
测试开发必备技能-Jmeter二次开发
如何防止重复下单?
leetcode:743. 网络延迟时间【单源最短路 + dijkstra模板】
js判断一个对象是否在一个对象数组中
Matlab计算随模拟时间变化的热导率
Jenkins 如何玩转接口自动化测试?
基本的SELECT语句
MySQL学习之运算符