美文网首页
[*二分法]367. 有效的完全平方数

[*二分法]367. 有效的完全平方数

作者: 好吃红薯 | 来源:发表于2019-05-22 15:31 被阅读0次

    给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。

    说明:不要使用任何内置的库函数,如 sqrt。

    示例 1:

    输入:16
    输出:True
    示例 2:

    输入:14
    输出:False

    思路:# mid = i//2+j//2 #这么写会有问题
    mid = i + (j - i) // 2,注意这两种写法的不同

    class Solution:
        def isPerfectSquare(self, num: int) -> bool:
            i,j = 0,num
            
            while i<=j:
                # mid = i//2+j//2   #这么写会有问题
                mid = i + (j - i) // 2
                if mid**2 == num:
                    return True
                elif mid**2 > num:
                    j = mid-1
                else:
                    i=mid+1
            return False
    

    相关文章

      网友评论

          本文标题:[*二分法]367. 有效的完全平方数

          本文链接:https://www.haomeiwen.com/subject/jwruzqtx.html