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. 搜索插入位置

LeetCode Algorithm 704. 二分查找

leetcode 704. 二分查找

LeetCode 704 二分查找[二分] HERODING的LeetCode之路

[leetcode]704.二分查找

LeetCode704 二分查找