Leetcode 77 x的平方根

2021-09-25 02:27:23 字數 939 閱讀 5665

實現int sqrt(int x)函式。

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

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

示例 1:

輸入:4

輸出:2

示例 2:

輸入:8

輸出:2

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

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

正常就是設乙個變數i0開始遍歷,判斷i * ix的大小關係,一直到i * i大於x,就返回i-1

但是這樣明顯太慢了。

我們簡單分析一下這個尋找答案的過程,不難發現其思路就是取i0遍歷到x,找出乙個滿足條件i * i < x的最大的i,這恰恰符合二分答案的基本套路啊。

class

solution

int left =

1, right = x;

int mid;

while

(right > left +1)

else

if(temp < mid)

else

}return left;

}}

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 由於返回型別是整數,小數部分將被捨去。袖珍計算器演算...