此题须看英文,中文翻译的guess表达的意思与愿意相反。
class Solution {
public:
int guessNumber(int n) {
int l = 1, r = n;
while (l < r) { // 循环直至区间左右端点相同
int mid = l + (r - l) / 2; // 防止计算时溢出
if (guess(mid) <= 0) {
r = mid; // 答案在区间 [left, mid] 中
} else {
l = mid + 1; // 答案在区间 [mid+1, right] 中
}
}
return l;
}
};