Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
95940 | 冯诚阳 | C语言7.15 | C++ | Wrong Answer | 1 MS | 272 KB | 752 | 2024-11-02 14:57:14 |
#include<iostream> using namespace std; int binarySearch(int arr[],int n,int value){ int low = 0; int high = n-1; //这里我们默认从小到大排序 while(low <= high){ int mid = low + ((high - low) /2);//也可以是mid=(low+high)/2 if(arr[mid]==value) return mid; else if(arr[mid] > value){ //中间比value大,往左边(较小)的方向找 high = mid - 1; }else if(arr[mid] < value){ //中间比value小,往右边(较大)的方向找 low = mid + 1; } } return -1; } int main(){ int i,value; int arr[15]; for(i=0;i<15;i++)cin>>arr[i]; cin>>value; int ans = binarySearch(arr,10,value); if(ans!=-1){ printf("%d\n",ans); }else{ printf("NO\n"); } return 0; }
------Input------
16 17 20 21 22 23 24 50 61 72 83 94 105 116 127 105
------Answer-----
12
------Your output-----
NO