LeetCode 374. Guess Number Higher or Lower

Guess Number Higher or Lower

unlocked question, 不贴截图了

EST 7/13/2016, 1:14AM. Beijing time 7/13/2016, 1:14PM. 截至目前Leetcode最新的一道题 I'm loling, 这还是我第一次做刚刚发出来的题
现在题越来越多,大量重复题,这道题是很典型的binary search
用leetcode给出的函数: int guess(int num)判断现在的数字是大了还是小了,binary search小了就往右,大了就往左

// 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(0), high(n);
        while (low <= high) {
            int mid = low + (high - low) / 2;
            int d = guess(mid);
            if (d == 0) return mid;
            else if (d == 1) low = mid + 1;
            else high = mid - 1;
        }
        return high;
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容