/**
* Forward declaration of guess API.
* @param num your guess
* @return -1 if num is lower than the guess number
* 1 if num is higher than the guess number
* otherwise return 0
* int guess(int num);
*/
public class Solution extends GuessGame {
public int guessNumber(int n) {
int left = 1, right = n;
while (left < right) {
//一样是0.5left + 0.5right,但是可以防止溢出
int mid = left + (right - left) / 2;
//选的数小于等于当前所选mid
//结果在[left, mid]
if (guess(mid) <= 0) {
right = mid;
}
//大于mid
//结果在[mid + 1, right]
else {
left = mid + 1;
}
}
return left;
}
}
374.猜数字大小
最新推荐文章于 2024-07-19 22:53:00 发布