Guess Number Higher or Lower(C++猜數字大小)

解題思路:

(1)使用二分法,夾逼定理

/** 
 * Forward declaration of guess API.
 * @param  num   your guess
 * @return 	     -1 if num is lower than the guess number
 *			      1 if num is higher than the guess number
 *               otherwise return 0
 * int guess(int num);
 */

class Solution {
public:
    int guessNumber(int n) {
        long i=1,j=n,mid;
        while(i<=j) {
            mid = (i+j)/2;
            if(guess(mid)==1) i=mid+1;
            else if(guess(mid)==-1) j=mid-1;
            else return mid;
        }
        return mid;
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章