[leetcode] 374. Guess Number Higher or Lower
来源:互联网 发布:不要网络的指尖帝国 编辑:程序博客网 时间:2024/06/04 23:20
Question:
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 lower 1 : My number is higher 0 : Congrats! You got it!Example:n = 10, I pick 6.Return 6.
Solution:
简单的二分。注意类型用long long,因为测试数据会非常大。
时间复杂度:O(logn)
空间复杂度:O(1)
// Forward declaration of guess API.// @param num, your guess// @return -1 if my number is lower, 1 if my number is higher, otherwise return 0int guess(int num);class Solution {public: int guessNumber(int n) { long long l = 1, r = n; while (l <= r) { long long mid = (l + r) / 2; int tmp = guess(mid); if (tmp == 0) return mid; if (tmp == 1) l = mid + 1; else r = mid-1; } return -1; }};
阅读全文
0 0
- LeetCode 374. Guess Number Higher or Lower
- [leetcode] 374. Guess Number Higher or Lower
- LeetCode 374. Guess Number Higher or Lower
- [Leetcode]374. Guess Number Higher or Lower
- LeetCode 374. Guess Number Higher or Lower
- LeetCode - 374. Guess Number Higher or Lower
- LeetCode 374. Guess Number Higher or Lower
- 374.[LeetCode]Guess Number Higher or Lower
- leetcode.374. Guess Number Higher or Lower
- [leetcode] 374. Guess Number Higher or Lower
- leetcode 374. Guess Number Higher or Lower
- [leetcode]374. Guess Number Higher or Lower
- 374. Guess Number Higher or Lower | LeetCode
- leetcode 374. Guess Number Higher or Lower
- LeetCode 374. Guess Number Higher or Lower
- [LeetCode]--374. Guess Number Higher or Lower
- leetcode 374. Guess Number Higher or Lower
- LeetCode 374. Guess Number Higher or Lower
- python初步实现word2vec
- [日推荐]『车主码』解决临时停车、请人挪车的小麻烦
- 用windows终端命令删除node_modules用windows终端命令删除文件夹
- Java异常知识整理
- linux下如何实现mysql数据库每天自动备份定时备份
- [leetcode] 374. Guess Number Higher or Lower
- 从代码层读懂 Java HashMap 的实现原理
- UCenter 注册用户同步Discuz(免激活)
- c++摄氏温度和华氏温度的装换
- Web开发之html2canvas截图如何解决跨域的问题?
- JavaScript实现拖拽和解决部分bug
- 进程与线程的区别、进线程通讯以及设计模式
- 微信企业号开发:企业支付基础
- Unity优化杂谈4(UI)