0
点赞
收藏
分享

微信扫一扫

leetcode-367 有效的完全平方数

王远洋 2022-04-30 阅读 74

给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。
进阶:不要 使用任何内置的库函数,如 sqrt 。

示例 1:

输入:num = 16
输出:true
示例 2:

输入:num = 14
输出:false
 

提示:

1 <= num <= 2^31 - 1

解法一:(暴力)

class Solution:
    def isPerfectSquare(self, num: int) -> bool: 
    x = n = 1
    while n <= num:
    	n = x * x
    	if n == num:
    		return Ture
    	x += 1
    return False

解法二:(二分法)

class Solution:
    def isPerfectSquare(self, num: int) -> bool:
    left = 0
    right = num
    while left <= right:
    	mid = (left + right) // 2
    	n = mid * mid
    	if n < num:
    		left = mid + 1
    	elif n > num:
    		right = mid -1
    	else:
    		return True
    return False
举报

相关推荐

0 条评论