2021121 LeetCode刷題 計算並返回 x 的 算術平方根 (難度:簡單)
阿新 • • 發佈:2021-11-21
題目:
計算並返回x
的算術平方根。
給你一個非負整數 x ,計算並返回x的 算術平方根 。
由於返回型別是整數,結果只保留 整數部分 ,小數部分將被 捨去 。
注意:不允許使用任何內建指數函式和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。
示例 1:
輸入:x = 4
輸出:2
示例 2:
輸入:x = 8
輸出:2
解釋:8 的算術平方根是 2.82842..., 由於返回型別是整數,小數部分將被捨去。
程式碼:(二分法查詢)
class Solution { public int mySqrt(int x) { int l = 0, r = x, ans = -1; while (l <= r) { int mid = l + (r - l) / 2; if ((long) mid * mid <= x) { ans = mid; l = mid + 1; } else { r = mid - 1; } } return ans; } }
執行結果: 通過 顯示詳情
新增備註
執行用時:1 ms, 在所有Java提交中擊敗了99.56%的使用者 記憶體消耗:35.3 MB, 在所有Java提交中擊敗了86.80%的使用者 通過測試用例:1017/101來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/sqrtx
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。