374. Guess Number Higher or Lower
2016-07-25 23:47
281 查看
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
or
Example:
This can be easily solved using binary search
int guess(int num);
class Solution {
public:
int guessNumber(int n) {
int left = 1, right = n;
while (left <= right) {
int mid = left + (right - left) / 2;
int ret = guess(mid);
if (ret == 0) {
return mid;
} else if (ret == -1) {
right = mid - 1;
} else if(ret == 1){
left = mid + 1;
}
}
return -1;
}
};
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.
This can be easily solved using binary search
int guess(int num);
class Solution {
public:
int guessNumber(int n) {
int left = 1, right = n;
while (left <= right) {
int mid = left + (right - left) / 2;
int ret = guess(mid);
if (ret == 0) {
return mid;
} else if (ret == -1) {
right = mid - 1;
} else if(ret == 1){
left = mid + 1;
}
}
return -1;
}
};
相关文章推荐
- 【leetcode】357. Count Numbers with Unique Digits
- Mongoose 移除unique的限制
- CodeForces 288C Polo the Penguin and XOR operation (位运算,异或)
- MAVEN build ,GOAL plugin ,execution
- Library Query
- JHTP自测题_第十二章_GUI组件(上篇)
- String&&StringBuffer&&StringBuilder深层次解析
- 属性动画ValueAnimator在自定义View中的使用 属性动画核心类
- JDBC中Statement接口提供的execute、executeQuery和executeUpdate之间的区别
- Android Gradle BuildConfig的妙用
- UITabBarControlller 和 UINavigationController
- stl容器区别: vector list deque set map-底层实现
- 如何利用pt-query-digest分析慢查询日志top SQL
- JHTP小结_第十二章_GUI组件(上篇)-Part 2
- Codeforces 691E Xor-sequences
- POJ 1458 Common Subsequence
- android-Notification.Builder
- POJ3668——Frequent values(线段树,RMQ,ST表)
- android studio for android learning (二十二 )如何在camera2中加载其它控件和当前摄像头视图显示在一起以及UI优化
- Android中的基础----Handler、Looper、MessageQueue的工作原理