官方题解
2024-03-21 16:57:42
发布于:浙江
274阅读
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;
}
全部评论 3






2025-12-02 来自 广东
1
2025-12-02 来自 广东
0
2025-12-02 来自 广东
0fw
2025-12-02 来自 广东
0












有帮助,赞一个