1,问题描述:给定一个有序数组a从中找到两个数使得两个数的和等于一个给定x。
这个题目比较简单,让一个变量 i 指向低位,j 指向高位,当小时i++,大时j--,找到就返回。如下图当 i 位置和 j 位置满足条件 x = a[ i ] + a[ j ];返回但是你能保证白色区域的值就不能满足条件吗?显然不能,下面给出解决方法
bool judge1(int *a, int len, int x)
{
int i
bool judge1(int *a, int len, int x)
{
int i