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 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 (-1
, 1
, 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相关推荐
- 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 ...
- 374. Guess Number Higher or Lower*
374. Guess Number Higher or Lower* https://leetcode.com/problems/guess-number-higher-or-lower/ 题目描述 ...
- 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 ...
- LeetCode 375. Guess Number Higher or Lower II
原题链接在这里:https://leetcode.com/problems/guess-number-higher-or-lower-ii/ 题目: We are playing the Guess ...
- C#LeetCode刷题之#374-猜数字大小(Guess Number Higher or Lower)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3993 访问. 我们正在玩一个猜数字游戏. 游戏规则如下: 我从 ...
- LeetCode Guess Number Higher or Lower II(动态规划)
问题:从1到 n之间选取一个数字,如果猜了数字x并且猜错了,需要支付金额为x的现金.问至少 需要支付多少 思路:用dp(i,j)表示i到j之间时的最小值.则有dp(i,j)=min{pivot + m ...
- 375. Guess Number Higher or Lower II
dp[i]表示i是否能得到,初始化dp[0]为true. 遍历数组每个元素(num),对于dp中每个元素(dp[j]),如果为true,则dp[j + num] = true. 注意j必须从尾到头遍历 ...
- leetcode 375. Guess Number Higher or Lower II | 375. 猜数字大小 II(动态规划思路总结)
题目 https://leetcode.com/problems/guess-number-higher-or-lower-ii/ 题解 首先,看了 Related Topics,知道这是个 dp 问 ...
- Leetcode重点250题
LeetCode重点250题 这个重点题目是把LeetCode前400题进行精简.精简方法如下: 删除不常考,面试低频出现题目 删除重复代码题目(例:链表反转206题,代码在234题出现过) 删除过于 ...
最新文章
- 知识图谱的前世今生:为什么我们需要知识图谱?
- mysql hibernate 延迟_Hibernate+Spring数据延迟加载问题解决方案
- Python 中 Iterator和Iterable的区别
- Matlab实用程序--图形应用-图形的叠加
- Express中app.use中间件的用法-匹配所有的请求方式
- java ora 00911_ORA-00911错误
- 前端学习笔记之 JavaScript WebAPIs(整理)
- JavaScript-分支和循环
- 匹配嵌套的构造(较复杂)
- pandas颠倒dataframe与series的顺序
- 用cxf编写基于spring的webservice之上篇
- 用jquery实现图片轮播
- Microsoft.AspNet.Identity 的简单使用
- 为RecyclerView打造通用Adapter
- 遗传算法详解及matlab代码实现
- 评价——秩和比综合评价
- java网上购物系统_基于java的网上购物系统的设计与实现
- win10 远程桌面连接设置
- 使用 Kitten 开发一款趣味成语接龙游戏
- 火端搜索V2.1原始程序
热门文章
- jquery判断toggle当前状态
- 使用HttpClient 调用Web Api
- Exchange Server 2013系统要求
- php 匿名评论,关于php:PHP匿名类的用法
- bigdecimal不保留小数_为什么 0.1 + 0.2 = 0.3,原来你不知道
- sas一元回归分析_商业分析的应用
- oracle修改undo清理时间,修改Oracle的Undo文件的方法
- linux命令只有一个文件,一天一个Linux基础命令之文件查看命令more
- LVM的逻辑卷管理及CentOS挂载
- torch.round()