1. 程式人生 > >leetcode367python 有效的完全平方數

leetcode367python 有效的完全平方數

給定一個正整數 num,編寫一個函式,如果 num 是一個完全平方數,則返回 True,否則返回 False。

注意:不要使用任何內建的庫函式,如  sqrt

示例 1:

輸入: 16

輸出: True

示例 2:

輸入: 14

輸出: False

python 與求一個數的平方根類似

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