求助最后一个点t了,如何改进
查看原帖
求助最后一个点t了,如何改进
472695
睡眼惺忪楼主2021/2/6 16:53
#include <stdio.h>
int n,m;
int a[1000000],b[100000];

int main()
{
	int i;
	scanf("%d %d",&n,&m);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=1;i<=m;i++)
	{
		scanf("%d",&b[i]);
	}
	for(i=1;i<=m;i++)
	{
	    int f=1,l=n,mid,ans=-1;
	    while(f<=l)
	    {
		   mid=(f+l)/2;
	       if(b[i]==a[mid])
		   {
			  ans=mid;
		   }
		   if(b[i]>a[mid])
		   {
			  f=mid+1;
		   }
		   else
		   {
		      l=mid-1;
		   }
	    }
	    printf("%d ",ans);
    }
}
2021/2/6 16:53
加载中...