leetcode 獲取平方根 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.

 

 

   function mySqrt($x) {
    if($x==0||$x==1){
        return $x;
    }
    for($i=1;$i<=$x;$i++){
        if($i*$i>$x){
           return $i-1; 
        }
    }
    }

 

 

 

 

 

    function mySqrt($x) {
          $l = 0;
        $r = $x;
        
        while ($l < $r) {
            
            $m = (int) ($l + ($r-$l)/2 + 1);
            
		    if($m > $x/$m){
                $r = $m-1;
            }
		    else {
                $l = $m;
            }
        }
        
        return $l;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章