1.猜數(shù)字大小
我們正在玩一個猜數(shù)字游戲夕膀。 游戲規(guī)則如下:
我從 1 到 n 選擇一個數(shù)字功蜓。 你需要猜我選擇了哪個數(shù)字逝撬。
每次你猜錯了冷溃,我會告訴你這個數(shù)字是大了還是小了钱磅。
你調(diào)用一個預(yù)先定義好的接口 guess(int num),它會返回 3 個可能的結(jié)果(-1似枕,1 或 0):
-1 : 我的數(shù)字比較小
1 : 我的數(shù)字比較大
0 : 恭喜盖淡!你猜對了!
示例 :
輸入: n = 10, pick = 6
輸出: 6
// Forward declaration of guess API.
// @param num, your guess
// @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
int guess(int num);
class Solution {
public:
int guessNumber(int n) {
int num ;
int head = 1 , end = n;
while( head <= end)
{
num = head + (end - head) /2;
if ( guess( num ) == 0 )
return num;
if ( guess ( num ) == 1 )
{
head = num+1;
}
if( guess ( num ) == -1)
{
end = num-1;
}
}
return num;
}
};