LeetCode 704 二分查找[二分] HERODING的LeetCode之路
Posted HERODING23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 704 二分查找[二分] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。
解题思路:
最基础的二分查找语法,实际上真正运用二分查找的变种很多,基本都集中在left与right的更新上面,是直接等于mid,还是加一减一之类,本题就无须考虑这些,直接按相等返回下标、中间值大了right = mid - 1;
中间值小了left = mid + 1;
代码如下:
class Solution {
public:
int search(vector<int>& nums, int target) {
int left = 0, right = nums.size() - 1;
while(left <= right) {
int mid = (left + right) / 2;
// 中间节点不满足条件
if(nums[mid] == target) {
return mid;
}
if(nums[mid] > target) {
right = mid - 1;
} else {
left = mid + 1;
}
}
return -1;
}
};
以上是关于LeetCode 704 二分查找[二分] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode第3天 - 704. 二分查找 | 35. 搜索插入位置