374. Guess Number Higher or Lower
2016-10-28 11:32
351 查看
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:
/* The guess API is defined in the parent class GuessGame.
@param num, your guess
@return -1 if my number is lower, 1 if my number is higher, otherwise return 0
int guess(int num); */
public class Solution extends GuessGame {
public int guessNumber(int n) {
int top=n,bot=0,guess = (top+bot)/2,status=guess(guess);
while(status!=0){
if(status<0){
top=guess-1;
guess=(int)(((long)top+(long)bot)/2);
}
else {
bot=guess+1;
guess=(int)(((long)top+(long)bot)/2);
}
status=guess(guess);
}return guess;
}
}
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.
/* The guess API is defined in the parent class GuessGame.
@param num, your guess
@return -1 if my number is lower, 1 if my number is higher, otherwise return 0
int guess(int num); */
public class Solution extends GuessGame {
public int guessNumber(int n) {
int top=n,bot=0,guess = (top+bot)/2,status=guess(guess);
while(status!=0){
if(status<0){
top=guess-1;
guess=(int)(((long)top+(long)bot)/2);
}
else {
bot=guess+1;
guess=(int)(((long)top+(long)bot)/2);
}
status=guess(guess);
}return guess;
}
}
相关文章推荐
- [LeetCode]374. Guess Number Higher or Lower<Binary Search>
- 374. Guess Number Higher or Lower
- LeetCode-374. Guess Number Higher or Lower
- 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. Guess Number Higher or Lower
- 【LeetCode】 374. Guess Number Higher or Lower
- 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
- 374. Guess Number Higher or Lower
- leetcode 374[easy]--- Guess Number Higher or Lower
- 每天一道LeetCode--374. Guess Number Higher or Lower
- Leetcode题解 374. Guess Number Higher or Lower
- 374,375. Guess Number Higher or Lower I,II
- BinarySearch-374-Guess Number Higher or Lower