[leetcode] 374. Guess Number Higher or Lower
2016-07-13 16:36
471 查看
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:
这道题是猜数游戏,题目难度为Easy。
二分查找的题目,比较简单,直接上代码了。具体代码:// Forward declaration of guess API.
// @param num, your guess
// @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
int guess(int num);
class Solution {
public:
int guessNumber(int n) {
int bgn = 1, end = n, mid;
while(bgn < end) {
mid = bgn + (end - bgn) / 2;
int rst = guess(mid);
if(rst == 0) return mid;
else if(rst == -1) end = mid - 1;
else bgn = mid + 1;
}
return bgn;
}
};
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.
这道题是猜数游戏,题目难度为Easy。
二分查找的题目,比较简单,直接上代码了。具体代码:// Forward declaration of guess API.
// @param num, your guess
// @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
int guess(int num);
class Solution {
public:
int guessNumber(int n) {
int bgn = 1, end = n, mid;
while(bgn < end) {
mid = bgn + (end - bgn) / 2;
int rst = guess(mid);
if(rst == 0) return mid;
else if(rst == -1) end = mid - 1;
else bgn = mid + 1;
}
return bgn;
}
};
相关文章推荐
- leetcode 179 Largest Number
- leetcode 24 Swap Nodes in Pairs
- leetcode 2 Add Two Numbers 方法1
- leetcode 2 Add Two Numbers 方法2
- leetcode----Longest Substring Without Repeating Characters
- [LeetCode]47 Permutations II
- [LeetCode]65 Valid Number
- [LeetCode]123 Best Time to Buy and Sell Stock III
- [LeetCode] String Reorder Distance Apart
- [LeetCode] Sliding Window Maximum
- [LeetCode] Find the k-th Smallest Element in the Union of Two Sorted Arrays
- [LeetCode] Determine If Two Rectangles Overlap
- [LeetCode] A Distance Maximizing Problem
- leetcode_linearList
- leetcode_linearList02
- 021-Merge Two Sorted Lists(合并两个排好序的单链表);leetcode
- LeetCode[Day 1] Two Sum 题解
- LeetCode[Day 2] Median of Two Sorted Arrays 题解
- LeetCode[Day 3] Longest Substring Without... 题解
- LeetCode [Day 4] Add Two Numbers 题解