zoukankan      html  css  js  c++  java
  • Leetcode: 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):
    
    -1 : My number is lower
     1 : My number is higher
     0 : Congrats! You got it!
    Example:
    n = 10, I pick 6.
    
    Return 6.

    Binary Search

    Here "My" means the number which is given for you to guess not the number you put into guess(int num).

     1 /* The guess API is defined in the parent class GuessGame.
     2    @param num, your guess
     3    @return -1 if my number is lower, 1 if my number is higher, otherwise return 0
     4       int guess(int num); */
     5 
     6 public class Solution extends GuessGame {
     7     public int guessNumber(int n) {
     8         int l=1, r=n;
     9         while (l <= r) {
    10             int m = l + (r-l)/2;
    11             int guessRes = guess(m);
    12             if (guessRes == 0) return m;
    13             else if (guessRes == -1) r = m - 1;
    14             else l = m + 1;
    15         }
    16         return Integer.MAX_VALUE;
    17     }
    18 }
  • 相关阅读:
    常见Dos命令
    常用快捷键小技巧
    springboot集成JPA返回Json报错 com.fasterxml.jackson.data
    docker安装mysql 8.0.20 版本 超详细教程
    8.24 Java自学
    8.23 Java自学
    8.22 Java自学
    8.21 Java自学
    8.20 Java自学
    8.19 Java自学
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/6108130.html
Copyright © 2011-2022 走看看