const nums = [2, 3, 5, 7, 9, 9, 11, 18, 1018]
const binarySearch = function (nums, target) {
if (nums.length === 0) {
return -1
}
let low = 0, high = nums.length - 1, mid
while (low <= high) {
mid = Math.floor(low + (high - low) / 2)
if (nums[mid] === target) {
return mid
} else if (nums[mid] < target) {
low = mid + 1
} else {
high = mid - 1
}
}
return -1
}
console.log("result", binarySearch(nums, 9))
const binarySearch1 = function (nums, target) {
if (nums.length === 0) {
return -1
}
let low = 0, high = nums.length, mid
while (low < high) {
mid = Math.floor(low + (high - low) >>>1)
if (nums[mid] === target) {
return mid
} else if (nums[mid] < target) {
low = mid + 1
} else {
high = mid
}
}
return -1
}
console.log("result", binarySearch1(nums, 9))
console