之前看到的 当时有种豁然开朗的感觉 但是现在找不到当时那份的高水平答案了
哪位见到过算法导论答案中有这段程序吗
计算已排序集合S中是否有两个元素和为x
int find(int a[],int n,int x)
{
int i,j,tmp;
for(i=0,j=n-1;i<j;)
{
tmp = a[i] + a[j];
if(tmp<x) i++;
else if(tmp>x) j--;
else return 1;
}
return 0;
}
求回复