Conclusion for Binary Search

Methods:

  • two main methods:

    1. left + 1 < right: used for searching the position between ice and fire

while(left + 1 < right){
    int mid = left + (right - left) /2;
    if(arr[mid] == target) return target;
    if(arr[mid] < target){
        left = mid;
    }else{
        right = mid;
    }
}
if(arr[left] == target) return left;
if(arr[right] == target) return right;
return -1;

2. left <= right : used for search the target.

while(left  <= right){
    int mid = left + (right - left) /2;
    if(arr[mid] == target) return target;
    if(arr[mid] < target){
        left = mid + 1;
    }else{
        right = mid - 1;
    }
}
return -1;

Last updated

Was this helpful?