题目:

We are playing the Guess Game. The game is as follows:

I pick a number from 1 to n. You have to guess which number I picked.

Every time you guess wrong, I'll tell you whether the number is higher or lower.

You call a pre-defined API guess(int num) which returns 3 possible results (-11, or 0):

-1 : My number is lower1 : My number is higher0 : Congrats! You got it!

Example:

n = 10, I pick 6.Return 6.

链接:

https://leetcode.com/problems/guess-number-higher-or-lower/#/description

3/17/2017

果然是简单题,但是要注意返回值的意义。

 1 /* The guess API is defined in the parent class GuessGame.
 2    @param num, your guess
 3    @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
 4       int guess(int num); */
 5
 6 public class Solution extends GuessGame {
 7     public int guessNumber(int n) {
 8         int lo = 1, hi = n;
 9         int mid;
10         int ret;
11
12         while (lo <= hi) {
13             mid = lo + (hi - lo) / 2;
14             ret = guess(mid);
15             if (ret == 0) return mid;
16             else if (ret > 0) {
17                 lo = mid + 1;
18             } else {
19                 hi = mid - 1;
20             }
21         }
22         return 0;
23     }
24 }

官方解答里有更多内容,包括ternary search,以及与binary search的比较

https://leetcode.com/articles/guess-number-higher-or-lower/

转载于:https://www.cnblogs.com/panini/p/6569362.html

374. Guess Number Higher or Lower相关推荐

  1. leetcode 374. Guess Number Higher or Lower 、375. Guess Number Higher or Lower II

    374. Guess Number Higher or Lower 二分查找就好 // Forward declaration of guess API. // @param num, your gu ...

  2. 374. Guess Number Higher or Lower*

    374. Guess Number Higher or Lower* https://leetcode.com/problems/guess-number-higher-or-lower/ 题目描述 ...

  3. LeetCode 374. Guess Number Higher or Lower

    题目: We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to ...

  4. LeetCode 375. Guess Number Higher or Lower II

    原题链接在这里:https://leetcode.com/problems/guess-number-higher-or-lower-ii/ 题目: We are playing the Guess ...

  5. C#LeetCode刷题之#374-猜数字大小(Guess Number Higher or Lower)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3993 访问. 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 ...

  6. LeetCode Guess Number Higher or Lower II(动态规划)

    问题:从1到 n之间选取一个数字,如果猜了数字x并且猜错了,需要支付金额为x的现金.问至少 需要支付多少 思路:用dp(i,j)表示i到j之间时的最小值.则有dp(i,j)=min{pivot + m ...

  7. 375. Guess Number Higher or Lower II

    dp[i]表示i是否能得到,初始化dp[0]为true. 遍历数组每个元素(num),对于dp中每个元素(dp[j]),如果为true,则dp[j + num] = true. 注意j必须从尾到头遍历 ...

  8. leetcode 375. Guess Number Higher or Lower II | 375. 猜数字大小 II(动态规划思路总结)

    题目 https://leetcode.com/problems/guess-number-higher-or-lower-ii/ 题解 首先,看了 Related Topics,知道这是个 dp 问 ...

  9. Leetcode重点250题

    LeetCode重点250题 这个重点题目是把LeetCode前400题进行精简.精简方法如下: 删除不常考,面试低频出现题目 删除重复代码题目(例:链表反转206题,代码在234题出现过) 删除过于 ...

最新文章

  1. 知识图谱的前世今生:为什么我们需要知识图谱?
  2. mysql hibernate 延迟_Hibernate+Spring数据延迟加载问题解决方案
  3. Python 中 Iterator和Iterable的区别
  4. Matlab实用程序--图形应用-图形的叠加
  5. Express中app.use中间件的用法-匹配所有的请求方式
  6. java ora 00911_ORA-00911错误
  7. 前端学习笔记之 JavaScript WebAPIs(整理)
  8. JavaScript-分支和循环
  9. 匹配嵌套的构造(较复杂)
  10. pandas颠倒dataframe与series的顺序
  11. 用cxf编写基于spring的webservice之上篇
  12. 用jquery实现图片轮播
  13. Microsoft.AspNet.Identity 的简单使用
  14. 为RecyclerView打造通用Adapter
  15. 遗传算法详解及matlab代码实现
  16. 评价——秩和比综合评价
  17. java网上购物系统_基于java的网上购物系统的设计与实现
  18. win10 远程桌面连接设置
  19. 使用 Kitten 开发一款趣味成语接龙游戏
  20. 火端搜索V2.1原始程序

热门文章

  1. jquery判断toggle当前状态
  2. 使用HttpClient 调用Web Api
  3. Exchange Server 2013系统要求
  4. php 匿名评论,关于php:PHP匿名类的用法
  5. bigdecimal不保留小数_为什么 0.1 + 0.2 = 0.3,原来你不知道
  6. sas一元回归分析_商业分析的应用
  7. oracle修改undo清理时间,修改Oracle的Undo文件的方法
  8. linux命令只有一个文件,一天一个Linux基础命令之文件查看命令more
  9. LVM的逻辑卷管理及CentOS挂载
  10. torch.round()