1# Runtime: 45 ms (Top 36.3%) | Memory: 16.20 MB (Top 88.7%)234class Solution:5def isPerfectSquare(self, num: int) -> bool:6if num == 1:7return True8lo = 29hi = num // 210while lo <= hi:11mid = lo + (hi - lo) // 212print(mid)13if mid * mid == num:14return True15if mid * mid > num:16hi = mid - 117else:18lo = mid + 119return False