class Solution:
def isPerfectSquare(self, num: int) -> bool:
i = 1
while i ** 2 <= num:
if i ** 2 == num:
return True
i += 1
return False
二、二分
只要有序的序列都能二分,已知x^2==num,则x处于[1, num]的区间,在此区间二分即可
class Solution:
def isPerfectSquare(self, num: int) -> bool:
l = 1
h = num
while l <= h:
mid = l + (h-l)//2
if mid ** 2 < num:
l = mid+1
elif mid ** 2 > num:
h = mid-1
else:
return True
return False