求助!全RE

P2249 【深基13.例1】查找

ylf_1234 @ 2024-01-16 21:30:29

#include <bits/stdc++.h>
using namespace std;
int a[1000010];
int find(int a[],int l,int r,int k){
    if(l==r){
        if(a[l]==k)return l;
        else
        return -1;
    }int mid=(l+r)/2;
    if(k<=a[mid])find(a,l,mid,k);
    else find(a,mid+1,r,k);
}int main(){
    int n,m,k;
    cin>>n>>m;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=m;i++){
        cin>>k;
        cout<<find(a,1,n,k)<<' ';
    }return 0;
}

by Dream_Creator @ 2024-01-16 21:43:01

@ylf_1234

第 10~11 行

#include <bits/stdc++.h>
using namespace std;
int a[1000010];
int find(int a[],int l,int r,int k){
    if(l==r){
        if(a[l]==k)return l;
        else
        return -1;
    }int mid=(l+r)/2;
    if(k<=a[mid]) return find(a,l,mid,k);
    else return find(a,mid+1,r,k);
}int main(){
    int n,m,k;
    cin>>n>>m;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=m;i++){
        cin>>k;
        cout<<find(a,1,n,k)<<' ';
    }return 0;
}

by ylf_1234 @ 2024-01-17 21:00:05

谢谢。我居然没有看到


|