#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<algorithm>
using namespace std;
int a[1000005];
int n, m;
int fun(int k)
{
int left = 0, right = n - 1;
int mid;
while (left < right)
{
mid= left + (right - left) / 2;
if (a[mid] >= k)
right = mid;
else
left = mid+1;
}
if (a[right] == k)
return right + 1;
return - 1;
}
int main()
{
scanf("%d %d", &n, &m);
for (int i = 0; i < n; ++i)
scanf("%d",&a[i]);
for (int i = 0; i < m; ++i)
{
int k;
scanf("%d", &k);
printf("%d ",fun(k));
}
return 0;
}
二分查找(如果有相同的数,返回最小坐标)
最新推荐文章于 2024-07-24 22:51:50 发布