Given a positive integer num, write a function which returns True if num is a perfect square else False.
Follow up: Do not use any built-in library function such as sqrt
.
Example 1:
Input: num = 16
Output: true
Example 2:
Input: num = 14
Output: false
Constraints:
-
1 <= num <= 2^31 - 1
SOLUTION:
class Solution:
def isPerfectSquare(self, num: int) -> bool:
beg = 0
end = num
while beg <= end:
mid = (beg + end) // 2
if mid * mid == num:
return True
elif beg == end:
break
elif mid * mid > num:
end = mid
else:
beg = mid + 1
return False
Top comments (0)