一、题目
函数原型: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编译器检查,实际上不需要 }