/*
* @lc app=leetcode.cn id=704 lang=typescript
*
* [704] 二分查找
*/采用左闭右开区间
因为middle采用除法时答案总是蜜汁出错,采用了右移的方法规避
// @lc code=start
function search(nums: number[], target: number): number {
let left = 0,
middle = 0,
right = nums.length;
while (left < right) {
middle = left + ((right - left) >> 1);
if (nums[middle] === target) {
return middle;
} else if (nums[middle] < target) {
left = middle + 1;
} else {
right = middle;
}
}
return -1;
}
// @lc code=end