0
点赞
收藏
分享

微信扫一扫

367. 有效的完全平方数

367. 有效的完全平方数_测试用例

先考虑不进阶 结果这个只过了5/7的测试用例 放弃 顺序超时 直接二分

class Solution:
def isPerfectSquare(self, num: int) -> bool:
return (num ** 0.5) ** 2 == num

举一反三
和sqrt差不多
思路就是让右坐标作为num的完全平方数 如果num符合题目要求的话,则找到的right+1 的平方 应该与num相等
借助了sqrt寻找一个数的完全平方数的思路 又加了最后一步罢了

class Solution:
def isPerfectSquare(self, num: int) -> bool:
left, right = 0, num - 1
while left <= right:
middle = (left + right) // 2
if middle ** 2 < num:
left = middle +1
else:
right = middle - 1
return (right+1)**2 == num


举报

相关推荐

0 条评论