大佬们帮我看看这个find()函数哪里有问题
查看原帖
大佬们帮我看看这个find()函数哪里有问题
332549
幽灵特工楼主2020/8/7 14:28
#include<bits/stdc++.h>
using namespace std;
int a[1000000];
int find(int l, int r, int x) {
	int mid = (l + r) / 2;
	if (a[mid] == x) {
		while (a[mid == x]) {
			mid--;
		}
		return mid + 1;
	}
	else if (a[mid] < x) {
		find(mid, r, x);
	}
	else if (a[mid] > x) {
		find(l, mid, x);
	}
}
int main(){
	int n, m;
	cin >> n >> m;
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	int x;
	for (int i = 0; i < m; i++) {
		cin >> x;
		cout << find(0, n, x) << " ";
	}
}
2020/8/7 14:28
加载中...