https://leetcode.cn/problems/...
解题思路
- 确定左右
- 计算中间
- 中间大于目标则表示右边只会更大于目标,舍弃
- 中间小于目标则表示左边只会更小于目标,舍弃
- 修改左或右为中间
/**
* @param {number[]} nums
* @param {number} target
* @return {number}
*/
var search = function(nums, target) {
if(nums === null || nums.length === 0) {
return -1
}
let left = 0
let right = nums.length - 1
while(left <= right) {
let mid = left + Math.floor((right - left) / 2)
if(nums[mid] === target) {
return mid
}
else if(nums[mid] > target) {
right = mid - 1
}
else if(nums[mid] < target) {
left = mid + 1
}
}
return -1
};
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。