leetcode解题之374. Guess Number Higher or Lower Java版 (猜数字大小二分查找)
2017-03-24 18:09
597 查看
374. Guess Number Higher or Lower
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.
/* 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 start = 1; int end = n; while (start <= end) { // mid = (low + high) / 2;会溢出 int mid = start + (end - start) / 2; int res = guess(mid); if (res == 0) return mid; else if (res == 1) { start = mid + 1; } else { end = mid - 1; } } return start; } }
相关文章推荐
- 【Java版本】二分查找&数字在排序数组中出现的次数
- leetcode解题之 15. 3Sum Java版(结果为目标值的三个数字)
- LeetCode 374 使用循环代替递归的二分查找从而避免栈溢出的错误
- leetcode第十五周解题总结--二分查找(二)
- Leetcode 35 Search Insert Position 二分查找插入数字位置
- leetcode解题之448. Find All Numbers Disappeared in an Array Java版 (找出缺少的数字)
- leetcode解题之33&81. Search in Rotated Sorted Array java版(在旋转的数字中查找指定值)
- leetcode解题之 18. 4Sum Java版(结果是目标值的四个数字和)
- [LeetCode]Search Insert Position (二分查找总结) Java Version
- leetcode解题之 12&13. Integer to Roman Java版(罗马数字和数字的转换)
- leetcode解题之215. Kth Largest Element in an Array java 版(第k大的数字)
- leetcode解题之153&154. Find Minimum in Rotated Sorted Array版(在旋转的数组中查找最小数字)
- leetcode 编程题 系列 (二分查找)旋转数组的查找、重复数字 33 153
- leetcode解题之 Search a 2D Matrix java 版(在二维矩阵中查找)
- leetcode解题之 16. 3Sum Closest Java版(结果离目标值最近三个数字和)
- leetcode解题之136 #Single Number Java版(只出现一次的数字)
- 解题报告:LeetCode Search in Rotated Sorted Array II(循环数字查找)
- [LeetCode] 374. Guess Number Higher or Lower 猜数字大小
- [LeetCode] Serch Insert Position (总结二分查找) Java version
- leetcode第十四周解题总结--二分查找