题目描述:
我们正在玩一个猜数字游戏。 游戏规则如下:
我从 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
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题目解释与思路概述:
在调用guess()方法时,返回结果这里题目描述的很不清楚,返回-1,是代表你猜的数字大了。同理,返回1,是代表你猜的数字小了。理解了这个,就可以很容易的想到使用二分查找了。
要注意在求中间值的时候,注意使用 left + (right - left)/2 来防止溢出
解法:

/* The guess API is defined in the parent class GuessGame.@param num, your guess@return -1 if my number is lower, 1 if my number is higher, otherwise return 0int guess(int num); */public class Solution extends GuessGame {public int guessNumber(int n) {int left = 1;int right = n;while (left <= right){int mid = left +(right - left)/2;if(guess(mid) == 1) left = mid+1;else if(guess(mid) == -1) right = mid - 1;else return mid;}return -1;}
}

374. 猜数字大小(简单题)相关推荐

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

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

  2. 374. 猜数字大小

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

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

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

  4. LeetCode:374. 猜数字大小

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

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

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

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

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

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

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

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

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

  9. leetcode-374. 猜数字大小刷题笔记(c++)

    写在前面 常规.简单题目 二分法高效搜索目标值 题目详情 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字. 每次你猜错了,我会告诉你这个数字是大 ...

最新文章

  1. 【HTML】记录自己丢人过程:文本换行缩进都不会
  2. jQuery学习笔记(Ajax)
  3. 利用自定义分页技术提高数据库性能
  4. css中的单位换算_CSS单位px、em、rem及它们之间的换算关系
  5. git和gitlab安装
  6. 平均薪资29036的Python,零基础初学者如何入门?
  7. 七年阿里老人谈新人程序员的成长
  8. 线程typedef UINT (_cdecl* AFX_THREADPROC)(LPVOID)类型转换无效
  9. Java常见设计模式
  10. play游戏php是多少人,directplay有什么用?
  11. 网络安全基础之DNS与DHCP
  12. Redis实现商品秒杀
  13. 【互动媒体】像素风画板
  14. 利用reportviewer与C#生成报表
  15. 薪酬体系设计中容易出现的问题及分析
  16. 一文读懂VMware虚拟化技术(含超融合)
  17. 项目绩效考核为什么要定指标_为您的项目选择正确的指标
  18. 【应用工具】python发票行程单----------随笔
  19. 【资料合集】2017云栖大会•广东分会回顾合集:PDF下载
  20. 华为nova5ipro的优缺点_三个原因告诉你 为何华为nova 5i Pro如此受追捧

热门文章

  1. Moglue:无需编程的交互式电子书制作软件(视频演示)
  2. 百度竞价账户选对关键词究竟有多重要?如何进行关键词筛选
  3. 极品列车时刻表 v08.06.19
  4. 基于php的同学校友录网站
  5. python 提取批量xml文件中的坐标信息存入txt文件 xml文件转txt文件
  6. 逆向分析学习入门教程2
  7. 计算机怎么游戏教学,谈计算机教学中的游戏教学法原稿(范文1)
  8. < 今日份知识点: 浅述对函数式编程的理解 及其 优缺点 >
  9. 从零开始学五线谱_初学者福利 | 学音乐,从五线谱开始
  10. r语言 html gif,推荐 :6步教你用R语言制作动图