最纯的二分查找(题解)
2025-10-10 20:22:39
发布于:广东
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int a[n];
for(int i = 0;i < n;i++)
{
cin>>a[i];
}
int x;
cin>>x;
int mid = 0;
int l = 0,r = n - 1;
while(l <= r)
{
mid = (l + r) / 2;
if(a[mid] == x)
{
cout<<mid + 1;
return 0;
}
else if(a[mid] < x)
{
l = mid + 1;
}
else
{
r = mid - 1;
}
}
cout<<-1;
return 0;
}
这里空空如也



有帮助,赞一个