二分查找
// 记住:二分查找的前提是 已排序 的数组
function binarySearch(arr, target) {
let len = arr.length;
let low = 0;
let high = len - 1;
while (low <= high) {
let mid = Math.floor((low + high)/2);
if (arr[mid] > target) {
high = mid - 1;
} else if (arr[mid] < target) {
low = mid + 1;
} else if (arr[mid] === target) {
return mid; // 找到了!
}
}
return null; // 没找到~
}