LeetCode 69.Sqrt(x) (x的平方根)
阿新 • • 發佈:2018-12-12
題目描述:
實現 int sqrt(int x)
函式。
計算並返回 x 的平方根,其中 x 是非負整數。
由於返回型別是整數,結果只保留整數的部分,小數部分將被捨去。
示例 1:
輸入: 4 輸出: 2
示例 2:
輸入: 8 輸出: 2 說明: 8 的平方根是 2.82842..., 由於返回型別是整數,小數部分將被捨去。
AC C++ Solution:
二進位制搜尋方法:
class Solution { public: int mySqrt(int x) { if (x < 2) return x; int left = 0, right = x; while (left < right) { int mid = left + (right - left) / 2; if (x / mid >= mid) left = mid + 1; else right = mid; } return right - 1; } };