原题链接https://leetcode.com/problems/valid-perfect-square/
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
class Solution:
def isPerfectSquare(self, num: int) -> bool:
if not isinstance(num, int):
return -1
start, end = 1, num
while start <= end:
mid = start + ((end - start) >> 1)
target = mid ** 2
if num == target:
return True
elif num > target:
start = mid + 1
else:
end = mid - 1
return False
网友评论