zoukankan      html  css  js  c++  java
  • 374. Guess Number Higher or Lower java

    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 (-11, or 0):

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

    Example:

    n = 10, I pick 6.
    
    Return 6.

    题意:猜一个数字,按照二分法的顺序来猜,猜大时提醒1,猜小时提醒-1,猜对时提醒0,问:在猜出来的数字是多少?
    思路:按照二分法的顺序来猜,根据提示的大小选择左半部分还是右半部分。
    java:
    public class Solution extends GuessGame {
        public int guessNumber(int n) {
            int left=1;
    	int right=n;
            while(left<=right)//按照二分法来猜
            {
            	int number=left+(right-left)/2;
            	count=guess(number);
            	if(count==0)
            		return number;//猜对直接返回
            	else if(count==1)//猜大时,选择左半部分
            		left=number+1;
            	else {
    		  right=number-1;//猜小时选择右半部分
    			}       		
            }
            return -1;
        }
    }
    

      

     
  • 相关阅读:
    Aizu
    Aizu
    POJ
    POJ
    POJ
    UVA
    manacher
    Gym
    Gym
    Gym
  • 原文地址:https://www.cnblogs.com/zhangfanxmian/p/6859819.html
Copyright © 2011-2022 走看看