實現 int sqrt(int x) 函式。
計算並返回 x 的平方根,其中 x 是非負整數。
由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。
示例 1: 輸入: 4 輸出: 2
示例 2:輸入: 8 輸出: 2
說明: 8 的平方根是 2.82842..., 由於返回型別是整數,小數部分將被捨去。
採用二分查詢的方法,逐漸尋找接近結果的值。
1class
solution:
2def
mysqrt(self, x: int):
3if x == 0 or x == 1:
4return
x5 left =0
6 right =x//2+1
7while left <=right:
8 mid = (left + right) // 2
9if mid * mid <= x and (mid+1) * (mid+1) > x: #
右邊不能為=
10return
mid11
elif x < mid *mid:
12 right = mid - 1
13elif x > mid *mid:
14 left = mid + 1
1class
solution 17}
18 };
x的平方根
題目三十九 實現int sqrt int x 函式,計算並返回 x 的平方根。您在真實的面試中是否遇到過這個題?yes 樣例sqrt 3 1 sqrt 4 2 sqrt 5 2 sqrt 10 3 挑戰 o log x class solution if i ix return i if i i x...
x的平方根
實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。看到這個題,當時想到了利用二分法,查詢x的平方根。寫出了如下 public int mysqrt int x else if m m x m m 0 else return l 但是這個方法並不適用大數,因為m...
x的平方根
實現 int sqrt int x 函式。計算並返回 x 的平方根,其中 x 是非負整數。由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。示例 1 輸入 4 輸出 2 示例 2 輸入 8 輸出 2 說明 8 的平方根是 2.82842 由於返回型別是整數,小數部分將被捨去。袖珍計算器演算...