python直接用庫函式,或者**0.5
class solution(object):
def mysqrt(self, x):
if x==none or x<0:
return none
return int(x**(0.5))
採用牛頓迭代法求平方根
牛頓迭代法就是通過迭代求解方程的零點
且用牛頓法去求解平方根是安全的
圖中,橙色的雪花點是前一次的位置,一次牛頓迭代後,變化到黃色的雪花點。
由圖可知,每一次迭代都可以是x更靠近真實的零點。
詳細見參考:
**
class solution:
def mysqrt(self, x: int) -> int:
r = x #令初始值等於x
while r*r > x: #終止條件
r = (r + x / r) // 2 #牛頓迭代公式
return int(r)
LeetCode 69 x 的平方根
實現int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842.由於返回型別是整數,小數部分將被捨去。usr bin p...
Leetcode 69 x 的平方根
實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 複製 示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842.複製 由於返回型別是整數,小數部分將被捨去。找...
leetcode69x 的平方根
69.x 的平方根 實現int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842.由於返回型別是整數,小數部分將被捨去...