LeetCode之猜数字大小
介绍
我们正在玩一个猜数字游戏。 游戏规则如下:我从 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之猜数字大小相关推荐
- [Golang]力扣Leetcode - 374. 猜数字大小(二分查找)
[Golang]力扣Leetcode - 374. 猜数字大小(二分查找) 题目:猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪个数字. 如果你猜错了,我 ...
- Java实现 LeetCode 374 猜数字大小 II
375. 猜数字大小 II 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了. 然而,当你猜 ...
- LeetCode:374. 猜数字大小
374. 猜数字大小 猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪个数字. 如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了. 你可以 ...
- Java实现 LeetCode 374 猜数字大小
374. 猜数字大小 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字. 每次你猜错了,我会告诉你这个数字是大了还是小了. 你调用一个预先定义好的 ...
- LeetCode 374. 猜数字大小(二分查找)
1. 题目 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字. 每次你猜错了,我会告诉你这个数字是大了还是小了. 你调用一个预先定义好的接口 gu ...
- leetcode - 375. 猜数字大小 II
解题思路:这道题目的意思是我告诉你一个n值,然后我会在1到n之间选一个数字,让你来猜我选了哪个数. 我们需要意识到我们在范围 (1, n)中猜数字的时候,需要考虑最坏情况下的代价.也就是说要算每次都猜 ...
- Leetcode 374.猜数字大小
Time: 20190909 Type: Easy 题目描述 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字. 每次你猜错了,我会告诉你这个数字 ...
- LeetCode 375. 猜数字大小 II(DP)
文章目录 1. 题目 2. 解题 1. 题目 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小 ...
- 【手绘漫画】图解LeetCode之猜数字大小(LeetCode 374题)
文章目录 图解LeetCode刷题计划 1.写在前面 2.题目 3.正文 4.代码 图解LeetCode刷题计划 1.写在前面 手绘漫画系列正式上线!!!"图解LeetCode刷题计划&qu ...
- Leetcode 375. 猜数字大小 II 解题思路及C++实现
方法一:递归 解题思路: 设置一个dp数组,dp[i][j] 表示从数字 i 到 j ,保证猜中所选数字所需的最小花费. 在数字 i 到 j 之间进行猜测时,我们选择数字 i < k < ...
最新文章
- vim-快捷键一览表
- 非对称加密算法RSA加密传输数据python3源代码实现
- Java中如何读取文件夹下的所有文件
- 测试 System.SysUtils.TStringHelper
- 扩增子和宏基因组数据分析流程和可视化方案—刘永鑫(南京,2020年10月27日)
- Fuchsia 是什么?Fuchsia OS 的未来如何?
- linux界面更改用户名,linux跳过用户名密码登陆界面方法
- ImageFun 使JPG的缩略图跟原图不一样 (刷微博必备)
- 异步加载AsyncTask小谈+实例
- kindle电子书使用calibre进行解除DRM导出本地
- mysql 存微信表情_MySQL保存 emoji 表情(微信昵称表情)
- 如果有人问你爬虫抓取技术的门道,请叫他来看这篇文章
- [转载]白素贞的身世之谜
- Python链家租房信息爬虫
- ajax请求或者计算造成浏览器崩溃解决办法
- 腾讯视频转换mp4格式用什么转换器?电脑怎么把腾讯视频转换成mp4?
- 阿里云服务器配置外网访问
- 基于ssm的BBS社区论坛系统
- 汇编基础练习题1:将AX中的数显示输出。
- c# asp.net mvc使用斑马GK888t打印机打印标签