Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
74176 陈路垚 二分查找 C++ 解答错误 0 4 MS 304 KB 580 2023-05-20 17:22:18

Tests(0/9):


#include<iostream> using namespace std; int a[100005]; int bs(int left, int right, int x){ if(left > right) return -1; // 找不到,返回-1 int mid = (left + right) / 2; if(a[mid] == x) return mid; // 找到,返回下标 else if(a[mid] > x) return bs(left, mid - 1, x); // 在左半边查找 else return bs(mid + 1, right, x); // 在右半边查找 } int main(){ int n,x; cin>>n; for(int i=0;i<n;i++) cin>>a[i]; cin>>x; cout<<bs(0,n-1,x)+1<<endl; return 0; }


测评信息: