python 计算算术平方根
生活随笔
收集整理的這篇文章主要介紹了
python 计算算术平方根
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
算術(shù)平方根
給你一個非負(fù)整數(shù) x ,計(jì)算并返回 x 的 算術(shù)平方根 。由于返回類型是整數(shù),結(jié)果只保留 整數(shù)部分 ,小數(shù)部分將被 舍去 。注意:不允許使用任何內(nèi)置指數(shù)函數(shù)和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:輸入:x = 4 輸出:2 示例 2:輸入:x = 8 輸出:2 解釋:8 的算術(shù)平方根是 2.82842..., 由于返回類型是整數(shù),小數(shù)部分將被舍去。提示: 0 <= x <= 231 - 1題解
class Solution:"""解題思路:求x的算數(shù)平方根問題可以轉(zhuǎn)化為: 在[0, x]區(qū)間, 求一個最大的k值, 讓k的平方小于等于x """def mySqrt(self, x: int) -> int:first = 0last = xwhile last >= first:mid = first + (last-first) // 2# 確定命中區(qū)間if mid * mid <= x:if (mid+1) * (mid+1) <= x: # 如果下一個元素的平方還小于x 則假命中first = mid + 1else:return mid # 否則 真命中 直接返回else:last = mid - 1總結(jié)
以上是生活随笔為你收集整理的python 计算算术平方根的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 山脉数组的峰顶索引
- 下一篇: python 寻找峰值