题解 | 平方根

平方根

https://www.nowcoder.com/practice/cd21e09482f24b03842f02ae3d403cad

def get_sqrt(num):left = 1right = numans = 0

while left <= right:
    # 二分取中间值
    mid = (left + right) // 2
    
    # 核心精髓:判断当前mid是不是合法的平方根
    if mid <= num // mid:
        ans = mid       # 合法,记录答案
        left = mid + 1  # 尝试找更大的
    else:
        right = mid - 1 # 太大了,往左缩小范围

return ans

调用测试

if name == "main":n = int(input())print(get_sqrt(n))

全部评论

相关推荐

鱼专:你没有问题,有问题的是java市场,我有实习经历都捞不到实习,走一步看一步吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务