374. Guess Number Higher or Lower

做题历程:

  1. 2016/Jul/13 独立解决,11分钟

这是一道货真价实的Easy题,代码非常的常规,就是用最普通的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) {
        // using binary search
        int l = 1;
        int r = n;
        while (l <= r) {
            int m = l + (r - l) / 2;
            int guess_res = guess(m);
            if (guess_res == 0) {
                return m;
            }
            else if (guess_res == -1) {
                r = m - 1;
            }
            else {
                l = m + 1;
            }
        }
        return -1;
    }
};

results matching ""

    No results matching ""