小白笔记-------------------二分搜索算法(再刷一遍)

来源:互联网 发布:app软件创业来源 编辑:程序博客网 时间:2024/04/30 04:29

374. Guess Number Higher or Lower

We are playing the Guess Game. The game is as follows:

I pick a number from 1 to n. You have to guess which number I picked.

Every time you guess wrong, I'll tell you whether the number is higher or lower.

You call a pre-defined API guess(int num) which returns 3 possible results (-1,1, or 0):

感觉这是个为了二分算法而做的题,啥也不说了贴出来

/* 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 left = 1;       int right = n;       int middle;       while(left <= right){            middle = left +(right - left) / 2;           if(guess(middle) == 0){               return middle;           }           if(guess(middle) == -1){               right = middle - 1;           }           if(guess(middle) == 1){               left = middle + 1;           }       }       return -1;    }}

0 0
原创粉丝点击