官方题解
2024-03-21 16:57:42
发布于:浙江
55阅读
0回复
0点赞
要在一个有序序列中查找第一个大于等于 的数,可以使用二分算法。
#include <iostream>
using namespace std;
int a[110];
int main() {
int n, x, ans = -1;
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
cin >> x;
int l = 1, r = n;
while (l <= r) {
int mid = (l + r) / 2;
if (a[mid] >= x) {
r = mid - 1;
ans = mid;
} else {
l = mid + 1;
}
}
cout << ans;
return 0;
}
这里空空如也
有帮助,赞一个