704. 二分查找
链接:https://leetcode-cn.com/problems/binary-search/
题目描述见链接内容。
解法
最基础的二分查找题目,按照之前总结的二分法的讨论来重新来做这道题目
var search = function (nums, target) {
let left = 0,
right = nums.length;
while (left < right) {
const mid = ~~((left + right) / 2);
if (nums[mid] === target) {
return mid;
}
if (nums[mid] < target) {
left = mid + 1;
} else {
right = mid;
}
}
return -1;
};
要注意的是,因为while
的循环条件没有等号,所以right
的初始值需要多取一位