1 二分查找
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var search = function (nums, target) {
let left = 0, right = nums.length - 1
while (left <= right) {
let mid = Math.floor((left + right) / 2)
if (target < nums[mid]) {
right = mid - 1
} else if (target > nums[mid]) {
left = mid + 1
} else {
return mid
}
}
return -1
};
时间复杂度:O(logn),其中 n 是数组的长度。
空间复杂度:O(1)。