描述
中文English
给出一个正整数 num
,写一个函数,要求当这个当num
为完全平方数时函数返回True
,否则返回False
样例
样例1:
输入: num = 16
输出: True
解释:
sqrt(16) = 4
样例2:
输入: num = 15
输出: False
解释:
sqrt(15) = 3.87
public boolean isPerfectSquare (int num) {
// write your code here
long l = 0, r = num;
while (r - l > 1) {
long mid = (l + r) / 2;
if (mid * mid <= num) {
l = mid;
} else {
r = mid;
}
}
long ans = l;
if (l * l < num) {
ans = r;
}
return ans * ans == num;
}