374. 猜數字大小
阿新 • • 發佈:2018-11-10
接口 每次 nds max 正在 pan 我會 pub int
我們正在玩一個猜數字遊戲。 遊戲規則如下:
我從 1 到 n 選擇一個數字。 你需要猜我選擇了哪個數字。
每次你猜錯了,我會告訴你這個數字是大了還是小了。
你調用一個預先定義好的接口 guess(int num)
,它會返回 3 個可能的結果(-1
,1
或 0
):
-1 : 我的數字比較小 1 : 我的數字比較大 0 : 恭喜!你猜對了!
示例 :
輸入: n = 10, pick = 6 輸出: 6
思路:很簡單的二分的題目,唯一的考慮就是 溢出的可能 ,求均值的時候註意一下即可。目前beat
public class Solution extends GuessGame { public intguessNumber(int n) { int min=0,max=n; int number = (max-min)/2+min; while(guess(number)!=0){ if(number==n-1) return n; if(guess(number)==-1) max=number; else min = number; number = (max-min)/2+min; } return number; } }
100%
374. 猜數字大小