Time: 20190909
Type: Easy

题目描述

我们正在玩一个猜数字游戏。 游戏规则如下:
我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。
每次你猜错了,我会告诉你这个数字是大了还是小了。
你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0):

-1 : 我的数字比较小
1 : 我的数字比较大
0 : 恭喜!你猜对了!
示例 :

输入: n = 10, pick = 6
输出: 6

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路

最基础,原版的二分搜索问题。

采用相邻时退出的策略。

代码

# The guess API is already defined for you.
# @param num, your guess
# @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
# def guess(num):class Solution(object):def guessNumber(self, n):""":type n: int:rtype: int"""start, end = 1, nwhile start + 1 < end: # 尤其注意不要写成了start + 1 < n....mid = start + (end - start) // 2# print(mid)if guess(mid) == -1: # 要猜的数字需要更小end = midelif guess(mid) == 1: # 要猜的数字需要更大start = midelse: # end = mid # 或start = mid也可以,直接此时返回也可以return midif guess(start) == 0:return startif guess(end) == 0:return end

END.

Leetcode 374.猜数字大小相关推荐

  1. [Golang]力扣Leetcode - 374. 猜数字大小(二分查找)

    [Golang]力扣Leetcode - 374. 猜数字大小(二分查找) 题目:猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪个数字. 如果你猜错了,我 ...

  2. LeetCode:374. 猜数字大小

    374. 猜数字大小 猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪个数字. 如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了. 你可以 ...

  3. Java实现 LeetCode 374 猜数字大小

    374. 猜数字大小 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字. 每次你猜错了,我会告诉你这个数字是大了还是小了. 你调用一个预先定义好的 ...

  4. Java实现 LeetCode 374 猜数字大小 II

    375. 猜数字大小 II 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了. 然而,当你猜 ...

  5. LeetCode 374. 猜数字大小(二分查找)

    1. 题目 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字. 每次你猜错了,我会告诉你这个数字是大了还是小了. 你调用一个预先定义好的接口 gu ...

  6. LeetCode-二分查找-374. 猜数字大小

    374. 猜数字大小 思路:二分法 /** * Forward declaration of guess API.* @param num your guess* @return -1 if num ...

  7. 374. 猜数字大小

    #374. 猜数字大小 难度:简单 考察:二分查找 题目描述 解题思路 题目有点说的不清楚,总之: guess返回-1,如果猜的数字比实际选择的数字大 1,如果猜的数字比实际选择的大 1.二分递归 p ...

  8. LeetCode题解:374.猜数字大小

    猜数字大小 一.LeetCode题解 瞧一瞧(求star!) LeetCode题解Javascript版本:Gitbook版本传送门 LeetCode题解Javascript版本:CSDN传送门 前端 ...

  9. 【LeetCode刷题】374. 猜数字大小

    猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪个数字. 如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了. 你可以通过调用一个预先定义好 ...

最新文章

  1. Tengine AIFramework框架
  2. 社交媒体如何破坏了你的生活? | 大咖来了
  3. weblogic java虚拟机_weblogic server 性能及调优-调优 java 虚拟机.doc
  4. MySQL配置主从同步过程记录
  5. 红米路由器ac2100怎样设置ipv6_Redmi路由器AC2100开箱:六天线简单直接,功能丰富对玩家友好...
  6. Windows驱动开发如何入门
  7. python的repr和str有什么不同_str()和repr()的异同
  8. 我为什么鼓励大家写作?
  9. 选择排序的Java代码实现(超详细代码)
  10. linux设置自动获取ip命令,详解如何设置CentOS 7开机自动获取IP地址
  11. Java9之后显示已过时newInstance()方法
  12. 在c语言中的变量分为三种类型,在C语言中的实型变量分为两种类型
  13. 计算机构成教学反思,计算机教学反思
  14. 60个英文阅读网站强力推荐
  15. 地理信息系统(GIS)应用场景步骤
  16. 第五代计算机语言--YiGo
  17. 机器视觉——VisionPro应用开发指南
  18. 指定Jboss的JDK
  19. 2018 ACM/ICPC 沈阳站 J How Much Memory Your Code Is Using?
  20. Java基础不使用方法重载缺点

热门文章

  1. 逻辑回归与线性回归的区别与联系
  2. LeetCode-9.回文数(大括号+双目运算符使用)
  3. ubuntu使用VNC实现远程桌面
  4. mysql如何给text字段添加索引_MySQL 是如何利用索引的
  5. 使用计算机 发展了人的运算能力,人们对计算的需求有多大?
  6. mysql 临时表 中文_MySQL 临时表
  7. sketchup作品_建环学院学生期末作品展第六站计算机辅助设计sketchup作业
  8. flume java 安装部署_[Hadoop] Flume安装部署与简单使用
  9. 注册规划师 计算机科学与技术,关于公布2018年度注册城乡规划师考试合格人员名单的通知...
  10. python filter_Python filter()