描述
中文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;
}