[E二分] lc374. 猜数字大小(二分+水题)

Posted Ypuyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[E二分] lc374. 猜数字大小(二分+水题)相关的知识,希望对你有一定的参考价值。

1. 题目来源

链接:374. 猜数字大小

2. 题目解析

水题,二分。


时间复杂度: O ( l o g n ) O(logn) O(logn)

空间复杂度: O ( 1 ) O(1) O(1)


/** 
 * Forward declaration of guess API.
 * @param  num   your guess
 * @return 	     -1 if num is lower than the guess number
 *			      1 if num is higher than the guess number
 *               otherwise return 0
 * int guess(int num);
 */

class Solution {
public:
    int guessNumber(int n) {
        int l = 1, r = n;
        while (l < r) {
            int mid = 0ll + l + r + 1 >> 1;
            //if (guess(mid) == 0) return mid;      // 可有可无

            if (guess(mid) == -1) r = mid - 1;
            else l = mid;
        }

        return l;
    }
};

以上是关于[E二分] lc374. 猜数字大小(二分+水题)的主要内容,如果未能解决你的问题,请参考以下文章

力扣每日一题:374.猜数字大小 python二分查找的基础公式!

⭐算法入门⭐《二分枚举》简单12 —— LeetCode 374. 猜数字大小

LeetCode 374 猜数字大小[二分法] HERODING的LeetCode之路

374. 猜数字大小

JS Leetcode 374. 猜数字大小 题解分析

[E二分] lc278. 第一个错误的版本(二分+水题)