LeetCode 69 x 的平方根

2021-09-23 15:41:57 字數 850 閱讀 1710

input: 4

output: 2

input: 8

output: 2

explanation: the square root of 8 is 2.82842..., and since we want to return an integer, the decimal part will be truncated.

示例 1:

輸入: 4

輸出: 2

示例 2:

輸入: 8

輸出: 2

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

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

思路:

乙個數 x 的開方 sqrt 一定在 0 ~ x 之間,並且滿足 sqrt == x / sqrt。可以利用二分查詢在 0 ~ x 之間查詢 sqrt。

對於 x = 8,它的開方是 2.82842…,最後應該返回 2 而不是 3。在迴圈條件為 l <= h 並且迴圈退出時,h 總是比 l 小 1,也就是說 h = 2,l = 3,因此最後的返回值應該為 h 而不是 l。

public

intmysqrt

(int x)

int l =

1, h = x;

while

(l <= h)

else

if(mid > sqrt)

else

}return h;

}

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.由於返回型別是整數,小數部分將被捨去...