为啥我用二分全RE了
查看原帖
为啥我用二分全RE了
1440821
zzhtxwd楼主2024/10/16 20:34
#include<stdio.h>
int main()
{int m,n;
scanf("%d%d",&n,&m);
int numbers[100000]={0};
int arr[1000000]={0};
for(int i=0;i<n;i++)
scanf("%d",&arr[i]);	
int nums[100000]={0};
for(int i=0;i<m;i++)
scanf("%d",&nums[i]);
int begin=0,end=n-1;
for(int i=0;i<m;i++)
{int target=nums[i];
int left=-1;	
	while(begin<=end)
{int middle=(begin+end)/2;
if(arr[middle]>target)
		{
			end=middle-1;
			
		}
	else if(arr[middle]<target)
	{
		begin=middle+1;
		}	
	else
		{
			end=middle-1;
			left=middle;
		}
	}	
numbers[i]=left;	
}
for(int i=0;i<m;i++)
{
	printf("%d ",numbers[i]);
}
	return 0;
 }```c

2024/10/16 20:34
加载中...