• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

nunca

但行好事 莫问前程
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

LeetCode Easy: 69. Sqrt(x)

一、题目

Implement int sqrt(int x).

Compute and return the square root of x.

x is guaranteed to be a non-negative integer.

返回一个非负整数的平方根

二、题目解析

这个可以用二分查找来做,如果用暴力搜索的话会超时,哈哈,调侃一下,小白慢慢入门了,遇到搜索问题,首先就想到二分查找而不是暴力搜索,注意最后如果是小数的话,是返回不大于此数的部分。

三、代码

#coding:utf-8
def mySqrt(x):
    """
    :type x: int
    :rtype: int
    """
    while x<2:
        return x
    first = 1
    last = x//2
    while first <= last:
        mid = (first + last) // 2
        if mid*mid == x:
            print(mid)
            return mid
        if mid*mid < x:
            first = mid+1
            number = mid
        else:
            last = mid -1
    print(number)
    return number

  

既然无论如何时间都会过去,为什么不选择做些有意义的事情呢

posted on 2018-03-30 08:26  乐晓东随笔  阅读(147)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3