从一个升序的数组中找出和为sum的两个数
程序员文章站
2024-02-04 08:23:04
...
现有一个数组,内部元素采用升序排列,请找出其中的两个数,其和为sum。请使用最快的方法。
思路1: 双指针遍历。
#include <iostream>
class arrayFind {
public :
arrayFind() {
}
virtual ~arrayFind() {}
void find(int A[], int len,int sum) {
if (A == nullptr)
return;
if (len < 1)
return;
int left = 0;
int right = len - 1;
while (left < right)
{
if (A[left] + A[right] < sum)
{
left++;
}
else if (A[left] + A[right] == sum)
{
std::cout << "It :" << A[left] <<" "<< A[right] << std::endl;
break;
}
else
{
right--;
}
}
}
};
上一篇: 给一个升序数组,找出两个数字相加等于 target 的个数。
下一篇: 函数式编程
推荐阅读
-
给一个升序数组,找出两个数字相加等于 target 的个数。
-
从一个升序的数组中找出和为sum的两个数
-
求解数组中任意两个元素的和最接近某一个数
-
快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值
-
个有序的整形数组,给定一个数,在数组中找出两个数的和等于这个数,并打印其下标
-
给定一个正序的整形数组A和一个数X,判断数组A里面是否存在两个数,他们的和为X;
-
一个整形数组,给定一个数,在数组中找出两个数的和等于这个数
-
go语言实现--找出一个数组中的两个数,这两个数之和等于一个给定的值
-
给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的 任意个数之和 等于 target,并打印出所有结果的索引。
-
快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值