介绍

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

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

示例 :

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

解析:这是一个典型的二分法查找案例,设置low,middle,high三个值,根据guess(int num)函数来判断middle是比要猜的数大还是小,注意,-1表示要猜的数在low~middle之间,1表示数字在middle到high之间。我的数字比较大,指的是你猜的数字比较小,其它依次类推。

源代码

int guess(int num);class Solution {
public:int guessNumber(int n) {int low=1,high=n,middle=0;while(low<=high){middle=low+(high-low)/2;if(guess(middle)==0){return middle;}else if(guess(middle)==1){low=middle+1;}else if(guess(middle)==-1){high=middle-1;}}return middle;}
};

LeetCode之猜数字大小相关推荐

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

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

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

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

  3. LeetCode:374. 猜数字大小

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

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

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

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

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

  6. leetcode - 375. 猜数字大小 II

    解题思路:这道题目的意思是我告诉你一个n值,然后我会在1到n之间选一个数字,让你来猜我选了哪个数. 我们需要意识到我们在范围 (1, n)中猜数字的时候,需要考虑最坏情况下的代价.也就是说要算每次都猜 ...

  7. Leetcode 374.猜数字大小

    Time: 20190909 Type: Easy 题目描述 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字. 每次你猜错了,我会告诉你这个数字 ...

  8. LeetCode 375. 猜数字大小 II(DP)

    文章目录 1. 题目 2. 解题 1. 题目 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小 ...

  9. 【手绘漫画】图解LeetCode之猜数字大小(LeetCode 374题)

    文章目录 图解LeetCode刷题计划 1.写在前面 2.题目 3.正文 4.代码 图解LeetCode刷题计划 1.写在前面 手绘漫画系列正式上线!!!"图解LeetCode刷题计划&qu ...

  10. Leetcode 375. 猜数字大小 II 解题思路及C++实现

    方法一:递归 解题思路: 设置一个dp数组,dp[i][j] 表示从数字 i 到 j ,保证猜中所选数字所需的最小花费. 在数字 i 到 j 之间进行猜测时,我们选择数字 i < k < ...

最新文章

  1. vim-快捷键一览表
  2. 非对称加密算法RSA加密传输数据python3源代码实现
  3. Java中如何读取文件夹下的所有文件
  4. 测试 System.SysUtils.TStringHelper
  5. 扩增子和宏基因组数据分析流程和可视化方案—刘永鑫(南京,2020年10月27日)
  6. Fuchsia 是什么?Fuchsia OS 的未来如何?
  7. linux界面更改用户名,linux跳过用户名密码登陆界面方法
  8. ImageFun 使JPG的缩略图跟原图不一样 (刷微博必备)
  9. 异步加载AsyncTask小谈+实例
  10. kindle电子书使用calibre进行解除DRM导出本地
  11. mysql 存微信表情_MySQL保存 emoji 表情(微信昵称表情)
  12. 如果有人问你爬虫抓取技术的门道,请叫他来看这篇文章
  13. [转载]白素贞的身世之谜
  14. Python链家租房信息爬虫
  15. ajax请求或者计算造成浏览器崩溃解决办法
  16. 腾讯视频转换mp4格式用什么转换器?电脑怎么把腾讯视频转换成mp4?
  17. 阿里云服务器配置外网访问
  18. 基于ssm的BBS社区论坛系统
  19. 汇编基础练习题1:将AX中的数显示输出。
  20. c# asp.net mvc使用斑马GK888t打印机打印标签

热门文章

  1. 3-单一职责原则+4-开放封闭原则+5依赖倒转原则
  2. 20/23种设计模式---C++实现
  3. WPF使用中知识点总结一
  4. Android widget开发有感
  5. 通过IP获取相应所在地的地址
  6. IDEA右键新建时没有Java Class选项
  7. 静态代码块、构造代码块以及构造函数的加载顺序
  8. js模拟select控件
  9. Linux下rpm安装lrzsz
  10. 后台开发必备的那些Linux命令