class Solution {
public:
bool isPerfectSquare(int num) {
if ( num == 0 )
{
return true;
}
if ( num == 1 )
{
return true;
}
// 这实际上是一个二分查找的问题
int lb = 0;
int ub = num;
double middle = num/2;
while ( ub - lb >= 0 )
{
middle = lb + (ub-lb)/2;
if ( middle == 0 )
{
break;
}
if ( middle == num/middle )
{
return true;
}
else if ( middle > num/middle )
{
ub = middle - 1;
}
else
{
lb = middle + 1;
}
}
return false;
}
};
Valid Perfect Square
最新推荐文章于 2022-04-16 10:00:50 发布