【Leetcode】374. Guess Number Higher or Lower【二分搜索】
2016-08-28 21:14
477 查看
374. Guess Number Higher or Lower
Total Accepted: 17904Total Submissions: 56954
Difficulty: Easy
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.
思路:二分法
代码1:
public class Solution extends GuessGame { public int guessNumber(int n) { int begin = 1, end = n, mid; while(begin <= end){ mid = begin + (end - begin)/2; int flag = guess(mid); if(flag == 0) return mid; if(flag < 0) end = mid - 1; else begin = mid + 1; } return begin; } }代码2:http://blog.csdn.net/corpsepiges/article/details/51898386
public class Solution extends GuessGame { public int guessNumber(int n) { return guessRange(1,n); } public int guessRange(int start,int end){ if(start==end){ return start; } int middle=start/2+end/2+(start%2+end%2)/2; int ans=guess(middle); if(ans==0){ return middle; } if(ans>0){ return guessRange(middle+1,end); } return guessRange(start,middle-1); } }
相关文章推荐
- 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 (Easy) (cpp)
- leetcode 374 Guess Number Higher or Lower
- LeetCode 374. Guess Number Higher or Lower
- Python [Leetcode 374]Guess Number Higher or Lower
- leetcode 374. Guess Number Higher or Lower 解题小结
- 【leetcode】374. Guess Number Higher or Lower【E】
- 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
- [leetcode] 374. Guess Number Higher or Lower 解题报告