class Solution {
public:
bool isPerfectSquare(int num) {
}
};
367. 有效的完全平方数
给定一个 正整数 num
,编写一个函数,如果 num
是一个完全平方数,则返回 true
,否则返回 false
。
进阶:不要 使用任何内置的库函数,如 sqrt
。
示例 1:
输入:num = 16 输出:true
示例 2:
输入:num = 14 输出:false
提示:
1 <= num <= 2^31 - 1
原站题解
python3 解法, 执行用时: 36 ms, 内存消耗: 13.3 MB, 提交时间: 2020-11-26 14:37:27
class Solution: def isPerfectSquare(self, num: int) -> bool: # 牛顿迭代法 if num < 2: return True x = num // 2 while x * x > num: x = (x + num // x) // 2 return x * x == num
python3 解法, 执行用时: 108 ms, 内存消耗: 13.4 MB, 提交时间: 2020-11-26 14:32:56
class Solution: def isPerfectSquare(self, num: int) -> bool: for i in range(num): if i**2 < num and (i+2)**2 > num: if (i+1)**2 == num: return True return False