题目:
题解:
- class Solution {
- public:
- int guessNumber(int n) {
- int left = 1, right = n;
- while (left < right) { // 循环直至区间左右端点相同
- int mid = left + (right - left) / 2; // 防止计算时溢出
- if (guess(mid) <= 0) {
- right = mid; // 答案在区间 [left, mid] 中
- } else {
- left = mid + 1; // 答案在区间 [mid+1, right] 中
- }
- }
- // 此时有 left == right,区间缩为一个点,即为答案
- return left;
- }
- };
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |