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

    传送门

    374. Guess Number Higher or Lower

     
     My Submissions
     
    • Total Accepted: 6632
    • Total Submissions: 21010
    • Difficulty: Easy

    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.


    题解:
    简单的二分,需要注意:

    用
    mid = l + (r - l) / 2;
    不要用
    mid = (l + r) / 2;
    会溢出
     1 // Forward declaration of guess API.
     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 class Solution {
     7 public:
     8     int guessNumber(int n) {
     9         int l = 1,r = n;
    10         int mid = (l + r) / 2;
    11         while(l < r){
    12             mid = l + (r - l) / 2;
    13             int re = guess(mid);
    14             if(re == 0) return mid;
    15             else if(re == 1){
    16                 l = mid + 1;
    17             }
    18             else{
    19                 r = mid - 1;
    20             }
    21         }
    22         return l;
    23     }
    24 };
  • 相关阅读:
    javaScript hook
    封装
    javascript 数字验证
    new 运算符
    指针
    js中的call及apply
    每行显示2条数据的分页
    less语言特性(二) —— 混合
    less语言特性(一) —— 变量
    理解响应式布局设计
  • 原文地址:https://www.cnblogs.com/njczy2010/p/5687123.html
Copyright © 2011-2022 走看看