题目链接:https://leetcode-cn.com/problems/valid-perfect-square/
难度:简单

描述:
给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false

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

题解

  1. class Solution:
  2. def isPerfectSquare(self, num: int) -> bool:
  3. left, right = 1, num
  4. while left <= right:
  5. mid = (left + right) // 2
  6. if mid * mid > num:
  7. right = mid - 1
  8. elif mid * mid < num:
  9. left = mid + 1
  10. else:
  11. return True
  12. return False