剑指offer中在一个有序数组中找出和为s的两个数字
using namespace std;
bool findnumberwithsum(int A[],int length,int *num1,int *num2,int key)
{
if(NULL==A||length<=0||NULL==num1||NULL==num2)
return false;
int start=0;
int end=length-1;
int sum=0;
while(start<end)
{
*num1=A[start];
*num2=A[end];
if(*num1+*num2==key)
{
return true;
}
else
{
if(*num1+*num2>key)
{
end--;
}
else
start++;
}
}
return false;
}
int main()
{
int A[]={1,2,4,7,11,15};
int key=15;
int num1;
int num2;
int length=6;
cout<<findnumberwithsum(A,length,&num1,&num2,key)<<endl;
system("pause");
return 0;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。