美文网首页
367. Valid Perfect Square 有效的完全平

367. Valid Perfect Square 有效的完全平

作者: singed | 来源:发表于2018-10-08 15:19 被阅读0次

    链接

    https://leetcode-cn.com/problems/valid-perfect-square/description/

    要求

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

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

    输入:16
    输出:True
    
    输入:14
    输出:False
    

    思路

    设定start和end,用random函数从(start, end)中取一个数
    如果这个数的平方小于num则赋值给start
    如果这个数的平方大于num则赋值给end

    代码

    执行用时:48 ms

    import random
    
    class Solution:
        def isPerfectSquare(self, num):
            start =  0
            end = num
    
            while end - start > 1:
                random_num = random.randint(start, end)
                if random_num ** 2 == num:
                    return True
                elif random_num ** 2 > num:
                    end = random_num
                else:
                    start = random_num
            else:
                if num < 2:
                    return True
                else:
                    return False
    

    相关文章

      网友评论

          本文标题:367. Valid Perfect Square 有效的完全平

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