参考文献
不用sqrt判断是否完全平方数,采用二分算法求解
C++ 代码
class Solution {
public:
bool isPerfectSquare(int num) {
int l=1, r=INT_MAX;
while(l<r){
int mid = (long long)l+r>>1;
if(mid >= num/mid)r=mid;
else l=mid+1;
}
return (long long)l*l==num;
}
};