概述
- 完全平方数:可以写成一个整数的平方的数
分析
- 这题和 69. x 的平方根 思路类似,只是返回值不同
可参考我的blog有分析过程
- 因为要求是完全平方数,如果能找到就返回true,否则返回false
思路
二分思路?
略
代码
class Solution {
public:
bool isPerfectSquare(int num) {
if (num == 1) return 1;
int L = 0, R = num / 2;
while (L <= R) {
int mid = (R - L) / 2 + L;
if (num == (long long) mid * mid) return true; // 如果找得到,则返回true
else if(num > (long long) mid * mid) L = mid + 1;
else R = mid -1;
}
return false;
}
};