# 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.


My number is lower中的My到底是作为解题人的“我”提供的数据小了呢？还是题目作为游戏发起人的”我”提供的数字小了？

// Forward declaration of guess API.
// @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) {
long long int low=1,high=n,mid=0;
while(low<=high){
mid=low+((high-low)>>1);
if(guess(mid)==0)
return mid;
else if(guess(mid)==1)
low=mid+1;
else
high=mid-1;
}
return -1;
}
};


### 学籍管理系统文档

#### 北邮教务系统评教脚本

Published on September 17, 2017

#### 72.Edit distance

Published on September 17, 2017