0
点赞
收藏
分享

微信扫一扫

力扣(leetcode) 374. 猜数字大小 (二分法)


题目在这:​​https://leetcode-cn.com/problems/guess-number-higher-or-lower/​​

题目分析:

题目说的有点乱,实际上就是猜数字游戏,假如你猜的是1,就通过guess函数把1传进去,返回-1 说明猜大了,返回1说明小了,返回0说明猜对了。

思路分析:

显然又是从一堆数里匹配符合条件的那个数。
又双叒叕是二分法。这周是二分法周,每日一题全是二分法。

关于二分法详解看我另一篇文章,清晰易懂,你肯定看的明明白白

完整代码

left = 1
right = n
while left <= right:
mid = (left+right) // 2
if guess(mid) == 0:
return mid
elif guess(mid) == -1:
# 正确数字比猜的要小
right = mid - 1
elif guess(mid) == 1:
# 正确数字比猜的要大
left = mid + 1

如果有任何想不通的地方,看我二分法的详解,如果还是不懂,留言交流。


举报

相关推荐

0 条评论