我试图通过修改二进制搜索算法来实现它。
int search(int *a, int start,int end,int sum){
int s=start,e=end-1,m;
while(s <= e){
m=s+(e-s)/2;
if(a[m] == sum){
return m+1;
}
else if (a[m] < sum) {
s = m + 1;
}
else {
e = m - 1;
}
}
return m;}
上述算法有什么问题?