1. 顺序递增数组中,找到key首次出现的位置

int find(int * arr , int length, int key){
    int low = 0,high = length-1,mid;
    while(low <= high){
        mid = (low + high)/2;
        if (arr[mid] < key){
            low = mid + 1;
        }else if(arr[mid] > key){
            high = mid - 1;
        }else{
            if (mid == 0) return mid;
            if (mid >= 1 && arr[mid-1] != key) return mid;
            else high = mid - 1;
        }
    }
    return -1;
}

 

相关文章:

  • 2021-11-17
  • 2022-01-19
  • 2021-07-25
  • 2021-09-27
  • 2022-12-23
  • 2022-12-23
  • 2021-12-10
  • 2022-12-23
猜你喜欢
  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
  • 2021-10-24
  • 2022-12-23
  • 2022-12-23
  • 2021-05-17
相关资源
相似解决方案