leetcode No.374猜数字大小

/* The guess API is defined in the parent class GuessGame.
   @param num, your guess
   @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
      int guess(int num); */

public class Solution extends GuessGame {
    public int guessNumber(int n) {
        int l=1,r=n;
        if(guess(n)==0)
            return n;
        while(l<r){
            int mid=l+(r-l)/2;//这样不会溢出
            //int mid=(l+r)/2;  不能用这一句  实际上两式形式一样  但是这样先加再除可能会有溢出
            if(guess(mid)==-1){
                r=mid-1;

            }else if(guess(mid)==1){
                l=mid+1;                

            }
            else return mid;
        }
        return l;
    }
}

猜你喜欢

转载自blog.csdn.net/qq_33399567/article/details/89764253