題目描述:
實現int sqrt(int x)函式。
計算並返回x的平方根,其中x 是非負整數。
由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。
示例 1:
輸入: 4
輸出: 2
示例 2:
輸入: 8
輸出: 2
說明: 8 的平方根是 2.82842…,
由於返回型別是整數,小數部分將被捨去。
知識點:
二分法:mid=(left+right)/2
思路和**:
結果返回的是近似整數,考慮邊界值的選擇這裡需要注意右側邊界(n/2)+1
class
solution
:def
mysqrt
(self, x:
int)
->
int:
if x ==0:
# 考慮特殊值
return
0 left =
1 right = x
while left < right:
mid =
(left + right +1)
>>
1# if mid * mid > x: # 返回的是僅保留整數部分,必然有mid * mid <= x
# right = mid - 1
# else:
# left = mid
if mid * mid <= x:
left = mid
else
: right = mid -
1return left
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.由於返回型別是整數,小數部分將被捨去。class s...