Set left = 0, right = arr.length - 1
While left <= right: compute mid = (left + right) / 2
If arr[mid] == target, return mid
If arr[mid] < target, set left = mid + 1
If arr[mid] > target, set right = mid - 1
If loop exits, return -1
(Shrinking window)
Set left = 0, right = arr.length - 1
While left <= right: compute mid = (left + right) / 2
If arr[mid] == target, return mid
If arr[mid] < target, set left = mid + 1
If arr[mid] > target, set right = mid - 1
If loop exits, return -1