
先考虑不进阶 结果这个只过了5/7的测试用例 放弃 顺序超时 直接二分
class Solution:
    def isPerfectSquare(self, num: int) -> bool:
        return (num ** 0.5) ** 2 == num举一反三
 和sqrt差不多
 思路就是让右坐标作为num的完全平方数 如果num符合题目要求的话,则找到的right+1 的平方 应该与num相等
 借助了sqrt寻找一个数的完全平方数的思路 又加了最后一步罢了
class Solution:
    def isPerfectSquare(self, num: int) -> bool:
        left, right = 0, num - 1
        while left <= right:
            middle = (left + right) // 2
            if middle ** 2 < num:
                left = middle +1
            else:
                right = middle - 1
        return (right+1)**2 == num










