[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. 猜数字大小