zoukankan      html  css  js  c++  java
  • 69. Sqrt(x)(二分查找)

    Implement int sqrt(int x).

    Compute and return the square root of x, where x is guaranteed to be a non-negative integer.

    Since the return type is an integer, the decimal digits are truncated and only the integer part of the result is returned.

    Example 1:

    Input: 4
    Output: 2
    

    Example 2:

    Input: 8
    Output: 2
    Explanation: The square root of 8 is 2.82842..., and since 
                 the decimal part is truncated, 2 is returned.



     1 class Solution {
     2     public int mySqrt(int x) {
     3         long lo = 0;
     4         long hi = x/2+1;
     5       
     6         while(lo<=hi){
     7              long mid = (hi-lo)/2+lo;
     8             if(mid*mid==x)
     9                 return (int)mid;
    10             else if(mid*mid>x)
    11                 hi = mid-1;
    12             else
    13                 lo = mid+1;
    14                 
    15         }
    16         return (int)lo-1;
    17     }
    18 }
  • 相关阅读:
    I/O模型
    同步异步与协程
    GIL(全局解释器锁)
    解决pycharm启动慢
    操作系统发展史
    TCP和UDP
    粘包问题
    网络编程
    异常
    常用函数汇总
  • 原文地址:https://www.cnblogs.com/zle1992/p/8987840.html
Copyright © 2011-2022 走看看