Python 解LeetCode:367. Valid Perfect Square
题目描述:给出一个正整数,不使用内置函数,如sqrt(),判断这个数是不是一个数的平方。
思路:直接使用二分法,貌似没啥好说的。代码如下:
1 class Solution(object): 2 def isPerfectSquare(self, num): 3 """ 4 :type num: int 5 :rtype: bool 6 """ 7 left, right = 0, num 8 while left <= right: 9 mid = (left+right) / 2 10 if mid ** 2 == num: 11 return True 12 elif mid ** 2 < num: 13 left = mid + 1 14 else: 15 right = mid -1 16 return False