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

    https://leetcode.com/problems/guess-number-higher-or-lower/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:
    n = 10, I pick 6.

    Return 6.

     1 public int guessNumber(int n) {
     2         int left = 1, right = n;
     3         while (left <= right) {
     4             int mid = left + (right - left) / 2;
     5             if (guess(mid) == 0) {
     6                 return mid;
     7             }
     8             //target is lower than mid
     9             else if (guess(mid) == -1) {
    10                 right = mid - 1;
    11             }
    12             //target is higher than mid
    13             else {
    14                 left = mid + 1;
    15             }
    16         }
    17         //since left and right are at the same spot
    18         return left;
    19     }

    没有难度,但是需要理解:这其实是说TARGET 和 MID 的关系

    -1 : My number is lower
    1 : My number is higher
    0 : Congrats! You got it!
  • 相关阅读:
    jquery学习笔记1
    javascript常用函数(1):jquery操作select 基本操作
    Angular.js学习笔记
    Mutex, semaphore, spinlock
    Linq 常用方法解释
    装B必备之 快捷键配置
    HttpWebRequest
    HttpClient get post
    js获取url 参数
    整洁代码1
  • 原文地址:https://www.cnblogs.com/davidnyc/p/8606809.html
Copyright © 2011-2022 走看看