二分直接秒代码比较适合新手简单易懂
2025-07-23 21:39:08
发布于:福建
0阅读
0回复
0点赞
因为已经告诉你他是升序数列了所以直接二分就好啦!
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,x;
int a[110];
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){
cout << mid;
return 0;
}else if(a[mid]<x){
l=mid+1;
}else{
r=mid-1;
}
}
cout << -1;
return 0;
}
就OK啦
这里空空如也
有帮助,赞一个