我們正在玩一個猜數字游戲。 游戲規則如下:
我從?1?到?n?選擇一個數字。 你需要猜我選擇了哪個數字。
每次你猜錯了,我會告訴你這個數字是大了還是小了。
你調用一個預先定義好的接口?guess(int num),它會返回 3 個可能的結果(-1,1?或 0):
-1 : 我的數字比較小
?1 : 我的數字比較大
?0 : 恭喜!你猜對了!
示例 :
輸入: n = 10, pick = 6
輸出: 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 0int guess(int num); */public class Solution extends GuessGame {public int guessNumber(int n) {int low = 1;int high = n;while (low <= high) {int mid = low + (high - low) / 2;int res = guess(mid);if (res == 0)return mid;else if (res < 0)high = mid - 1;elselow = mid + 1;}return -1;}
}
?