1 条题解

  • 0
    @ 2023-6-11 12:16:31

    C :

    #include<stdio.h>
    int binary_search(int arr[], int n, int k)
    {
       int i=-1;
       int low=0,high=n-1,mid;
       while(low<=high)
       {
         mid=(high+low)/2;
         if(arr[mid]==k)
         {
            i=mid;
            break;
         }
         else if(arr[mid]>k)
            high=mid-1;
         else
          low=mid+1;
      }
      return i;
    } 
    int main(){
    	int n;
    	scanf("%d",&n);
    	int a[n];
    	for(int i=0;i<n;i++){
    		scanf("%d",&a[i]);
    	}
    	int key;
    	scanf("%d",&key);
    	int result = binary_search(a,n,key);
    	if(result>=0){
    			printf("%d",result+1);
    			printf("\n"); 
    	} 
    	else{
    		printf("-1");
    	}
    	return 0;
    } 
    
    • 1

    信息

    ID
    2217
    时间
    1000ms
    内存
    64MiB
    难度
    8
    标签
    递交数
    181
    已通过
    32
    上传者