Leetcode 69 Sqrt x 求平方根

2021-09-24 05:16:32 字數 571 閱讀 8303

計算並返回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...