計算並返回x的平方根,其中x保證為非負整數。
由於返回型別是整數,因此僅返回結果的整數部分。
例項
輸入:8這是二分查詢的變式。輸出:2
x的平方根範圍是[0, x],在這個範圍內的任何乙個數字mi,都可以將[lo, hi]分為三部分:
[lo, mi) mi (mi, hi](
(1) 如果mi * mi == x 返回mi
(2) 如果mi * mi > x 深入(mi, hi] 中繼續查詢
(3) 如果mi * mi
牛頓法
class solution
return hi;}};
注:
經過不斷的縮減範圍,最後一輪迴圈的時候,lo = mi = hi;
如果mi * mi < x lo = mi + 1,hi不變,此時hi是正確值。
如果mi * mi > x hi = mi - 1,hi是正確答案
返回hi。
第十五周 69 Sqrt x
implementint sqrt int x compute and return the square root of x.x的平方根肯定會比x小,因此在1 x的範圍內用二分查詢的方法找到這個數。一開始的時候出現超時,超時 如下 int mysqrt int x int mid int low ...
Leetcode長征系列 Sqrt x
原題 implementint sqrt int x compute and return the square root of x.以下為引用 牛頓迭代法 為了方便理解,就先以本題為例 計算x2 n的解,令f x x2 n,相當於求解f x 0的解,如左圖所示。首先取x0,如果x0不是解,做乙個經...
69 Sqrt x 平方根取整Python
計算並返回x的平方根,其中x保證為非負整數。由於返回型別是整數,因此十進位制數字將被截斷,並且僅返回結果的整數部分。def mysqrt self,x int int return int x 0.5 method 1 return int pow x,0.5 method 2 return int...