Create 374. Guess Number Higher or Lower.md

This commit is contained in:
唐树森 2018-10-10 21:28:35 +08:00 committed by GitHub
parent 5525899477
commit 3542f9e6ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -0,0 +1,24 @@
# [374. Guess Number Higher or Lower](https://leetcode.com/problems/guess-number-higher-or-lower/description/)
# 思路
二分法。
注意计算mid的时候防止溢出见代码。
# C++
```
// Forward declaration of guess API.
// @param num, your guess
// @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
int guess(int num);
class Solution {
public:
int guessNumber(int n) {
int low = 1, high= n, mid;
while(low <= high){
mid = low + (high - low) / 2; // 不用 mid = (low + high) / 2, 因为这样可能溢出
if(guess(mid) == 0) return mid;
else if(guess(mid) > 0) low = mid + 1;
else high = mid - 1;
}
}
};
```