当前位置:网站首页>[sum of two numbers] 169 sum of two numbers II - enter an ordered array
[sum of two numbers] 169 sum of two numbers II - enter an ordered array
2022-07-05 05:16:00 【lee2813】
One 、 subject
I'll give you a subscript from 1 The starting array of integers numbers , The array has been pressed Non decreasing order , Please find out from the array that the sum satisfying the addition is equal to the target number target Two numbers of . Let these two numbers be numbers[index1] and numbers[index2] , be 1 <= index1 < index2 <= numbers.length .
In length 2 Array of integers for [index1, index2] Returns the subscript of these two integers in the form of index1 and index2.
You can assume that each input Only corresponding to the only answer , And you Can not be Reuse the same elements .
The solution you design must use only constant level extra space .
Example 1:
Input :numbers = [2,7,11,15], target = 9
Output :[1,2]
explain :2 And 7 The sum is equal to the number of targets 9 . therefore index1 = 1, index2 = 2 . return [1, 2] .
Example 2:
Input :numbers = [2,3,4], target = 6
Output :[1,3]
explain :2 And 4 The sum is equal to the number of targets 6 . therefore index1 = 1, index2 = 3 . return [1, 3] .
Example 3:
Input :numbers = [-1,0], target = -1
Output :[1,2]
explain :-1 And 0 The sum is equal to the number of targets -1 . therefore index1 = 1, index2 = 2 . return [1, 2] .
Two 、 Answer key
This problem is to traverse an array , And find two elements , It's not an interval , And the array is ordered , Therefore, the double pointer method can be used .
- First initialize the double pointer , Point to the smallest position and the largest position respectively , The minimum position pointer traverses to the right , The maximum position pointer traverses to the left .
- In the process of traversing , There are three situations (1) Sum of two numbers > The goal is : The maximum position pointer moves to the left ;2) Sum of two numbers < The goal is : The minimum position pointer moves to the right ;3) Sum of two numbers = The goal is : Successfully found
Be careful : In the opposite direction, pay attention to the boundary conditions , Here are two pointers pointing to the same position
3、 ... and 、 Code
class Solution {
public:
vector<int> twoSum(vector<int>& numbers, int target) {
int s = 0;
int f = numbers.size()-1;
while(s!=f){
if((numbers[s] + numbers[f])==target) break;
else if((numbers[s] + numbers[f])>target) f--;
else s++;
}
return vector<int> {
s+1,f+1};
}
};
边栏推荐
- Research on the value of background repeat of background tiling
- [轉]: OSGI規範 深入淺出
- [turn to] MySQL operation practice (III): table connection
- Ue4/ue5 illusory engine, material part (III), material optimization at different distances
- Unity check whether the two objects have obstacles by ray
- UE4/UE5 虚幻引擎,材质篇(三),不同距离的材质优化
- 质量体系建设之路的分分合合
- Embedded database development programming (zero)
- 嵌入式数据库开发编程(六)——C API
- Forecast report on research and investment prospects of Chinese wormwood industry (2022 Edition)
猜你喜欢

小程序直播+電商,想做新零售電商就用它吧!

质量体系建设之路的分分合合

Unity ugui source code graphic

UE4/UE5 虚幻引擎,材质篇,纹理,Compression and Memory压缩和内存

Leetcode word search (backtracking method)

嵌入式数据库开发编程(六)——C API

Optimization scheme of win10 virtual machine cluster

Stm32cubemx (8): RTC and RTC wake-up interrupt

How to choose a panoramic camera that suits you?

2022/7/2 question summary
随机推荐
Use the command character to close the keyboard command of the notebook
Django reports an error when connecting to the database. What is the reason
2021-10-29
669. Prune binary search tree ●●
3dsmax scanning function point connection drawing connection line
JVM call not used once in ten years
MD5 bypass
3dsmax snaps to frozen objects
Bubble sort summary
Judge the position of the monster in the role under unity3d
PR first time
服务熔断 Hystrix
Cocos2dx Lua registers the touch event and detects whether the click coordinates are within the specified area
Database under unity
Recherche de mots pour leetcode (solution rétrospective)
Magnifying glass effect
2022/7/2做题总结
A three-dimensional button
Merge sort
[轉]: OSGI規範 深入淺出