(Easy) Guess Number Higher or Lower -LeetCode

Posted codingyangmao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(Easy) Guess Number Higher or Lower -LeetCode相关的知识,希望对你有一定的参考价值。

Description:

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):

-1 : My number is lower
 1 : My number is higher
 0 : Congrats! You got it!

Example :

Input: n = 10, pick = 6
Output: 6

Solution:

Key algorithm used:  Binary Search: 

/* 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 start = 1; 
        int end = n; 
 
  
        while ( start< end )
            
            int mid = start +(end - start)/2;
            
            if(guess(mid)== 1)
                start = mid+1; 
            
            
            else if(guess(mid)==-1)
                end = mid; 
            
            
            else if(guess(mid)==0)
                
                return mid;
            
        
    
        return start;
        
    

 

以上是关于(Easy) Guess Number Higher or Lower -LeetCode的主要内容,如果未能解决你的问题,请参考以下文章

常见算法汇总

提高级

二分查找法 查找数字所在下标

1562 Guess the number

Guess the number

LeetCode Guess Number Higher or Lower