69 x 的平方根

2022-03-28 10:23:02 字數 978 閱讀 4734

實現int sqrt(int x)函式。

計算並返回 x 的平方根,其中 x 是非負整數。

由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。

示例 1:

輸入: 4

輸出: 2

示例 2:

輸入: 8

輸出: 2

說明: 8 的平方根是 2.82842...,

由於返回型別是整數,小數部分將被捨去。

暴力解法

時間複雜度:o(n)

class solution:

def mysqrt(self, x):

if x <= 1:

return x

s = 1

while true:

if s * s > x:

return s - 1

s += 1

二分查詢

時間複雜度:o(log(n))

class solution:

def mysqrt(self, x):

l = 1

r = x

while l <= r:

m = (r + l) // 2

if m * m > x:

r = m - 1

else:

l = m + 1

return r

牛頓法

時間複雜度:o(log(n))

class solution:

def mysqrt(self, x):

a= x

while a * a > x:

a = (a + x // a) // 2

return a

69 x的平方根

一 題目 實現int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4輸出 2示例 2 輸入 8輸出 2說明 8 的平方根是 2.82842.由於返回型別是整數,小數部分將被捨去。二 思路 採用...

69 x的平方根

題目描述 實現int sqrt int x 函式。計算並返回x的平方根,其中x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842 由於返回型別是整數,小數部分將被捨去。知識點 二分...

69 X的平方根

題目 實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842.由於返回型別是整數,小數部分將被捨去。思路 每...