LeetCode 374. Guess Number Higher or Lower【二分】简单
发布日期:2021-07-01 03:02:23
浏览次数:3
分类:技术文章
本文共 1397 字,大约阅读时间需要 4 分钟。
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 will tell you whether the number I picked is higher or lower than your guess.
You call a pre-defined API int guess(int num)
, which returns 3 possible results:
-1
: The number I picked is lower than your guess (i.e.pick < num
).1
: The number I picked is higher than your guess (i.e.pick > num
).0
: The number I picked is equal to your guess (i.e.pick == num
).
Return the number that I picked.
Example 1:
Input: n = 10, pick = 6Output: 6
Example 2:
Input: n = 1, pick = 1Output: 1
Example 3:
Input: n = 2, pick = 1Output: 1
Example 4:
Input: n = 2, pick = 2Output: 2
Constraints:
1 <= n <= 231 - 1
1 <= pick <= n
题意:猜数字游戏。
解法 二分
/** * Forward declaration of guess API. * @param num your guess * @return -1 if num is lower than the guess number * 1 if num is higher than the guess number * otherwise return 0 * int guess(int num); */class Solution { public: int guessNumber(int n) { int l = 0, h = n; while (l <= h) { int m = l + (h - l) / 2, t = guess(m); if (t == 0) return m; else if (t == -1) h = m - 1; else l = m + 1; } return 0; }};
运行效率如下:
执行用时:0 ms, 在所有 C++ 提交中击败了100.00% 的用户内存消耗:5.7 MB, 在所有 C++ 提交中击败了82.14% 的用户
转载地址:https://memcpy0.blog.csdn.net/article/details/117889062 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月07日 22时29分02秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【语言-批处理】 添加项到注册表
2019-05-02
【语言-批处理】删除注册表中的项
2019-05-02
【语言-批处理】批处理 copy(拷贝)注册表中的项
2019-05-02
【语言-批处理】注册表操作---比较、导入、导出、加载、卸载、查询、保存、还原、标志
2019-05-02
【IDE-Visual Studio】vs2010 -MFC-查看程序执行过程
2019-05-02
Nagle算法
2019-05-02
TCP三步握手建立连接(2)-----被动连接方发送SYN/ACK
2019-05-02
TCP三步握手建立连接(3)-----被动连接方接收ACK处理
2019-05-02
TCP 发送流程
2019-05-02
Linux TCP数据包接收流程
2019-05-02
Linux TCP 拥塞控制实现机制
2019-05-02
Linux TCP数据包接收处理
2019-05-02
EPOLL 内核实现
2019-05-02
MySQL 内存模型
2019-05-02
MySQL 索引概述
2019-05-02
SQL 语句优化
2019-05-02
c++函数重载二义性
2019-05-02
javascript积累
2019-05-02
html,css积累
2019-05-02
linux自动启动shell和init概述
2019-05-02