题目:
一个给定的数字n。
别人写一个1到n之间的数字,让你的函数根据guess函数猜出来,他写的是啥。
guess函数可以理解为:
int guess(int num)
{
if(num==num_pick) return 0;
else if(num >num_pick ) return -1;
else return 1;
}
实现当然可以用遍历,但是TLD,那就用二分好了。
int guessNumber(int n) {
int left = 1;
int right = n;
if(guess(n)==0) return n;
int mid = n;
while(left<right)
{
if(guess(mid)==0)
return mid;
if(guess(mid)==-1)
{
right = mid;
mid = left + (right - left)/2;
}
if(guess(mid)==1)
{
left = mid;
mid = left + (right - left)/2;
}
}
return left;
}