大佬救救
查看原帖
大佬救救
844113
forzyq楼主2022/12/28 22:08

这个数组下标为啥这样就不行

int merge_search(int x){
    int l=0,r=n-1;
     while(l<r)
    {
        mid=l+r>>1;
        if(q[mid]>=x)r=mid;
        else l=mid+1;
    }
    if(q[l]==x)return l;
    else return -1;
}
int main(){
    cin>>n>>m;
    for(int i=0;i<n;i++)scanf("%d",&q[i]);
    for(int i=0;i<m;i++)
    {
        scanf("%d",&p);
       int a=merge_search(p);
       printf("%d ",a);
    }
    return 0;
}
2022/12/28 22:08
加载中...