给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,则返回 True,否则返回 False。
注意:不要使用任何内置的库函数,如 sqrt
。
示例 1:
输入: 16
输出: True
示例 2:
输入: 14
输出: False
class Solution:
def isPerfectSquare(self, num):
"""
:type num: int
:rtype: bool
"""
start = 1
end = num
while start <= end:
mid = start +(end-start) //2
sqr = mid ** 2
if sqr < num:
start =mid+1
elif sqr > num:
end = mid -1
else:
return True
return False