一、题目
函数原型:int guessNumber(int n)
二、思路
本题其实就是从 1 - n 中找出所要的答案。利用guess函数来判断数字是否符合答案。
答案小于当前数字,guess函数返回-1
答案等于当前数字,guess函数返回0
答案大于当前数字,guess函数返回1
利用二分查找法即可
三、代码
int guessNumber(int n) {int left=1;int right=n;int answer=left+(right-left)/2;while(left<=right){if(guess(answer)==-1)right=answer-1;else if(guess(answer)==0)return answer;else left=answer+1;answer=left+(right-left)/2;}return 0;//防止leetcode编译器检查,实际上不需要 }