欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

367. 有效的完全平方数

程序员文章站 2024-03-16 08:43:04
...

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

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

示例 1:

输入:16
输出:True

示例 2:

输入:14
输出:False

 

使用经典的二分方法,C++会超时,使用Python

class Solution:
    def isPerfectSquare(self, num):
        """
        :type num: int
        :rtype: bool
        """
        left = 0
        right = num
        while left<=right:
            mid = left + (right-left)//2
            if mid**2 == num:
                return True
            elif mid**2 < num:
                left = mid+1
            else:
                right = mid - 1
        
        return False