复杂度O(logn)求解比较理想
bool isSquare(int number, int &sn)
{
int left = 1, right = number;
while(left <= right) {
int mid = (right - left) / 2 + left;
if(mid * mid == number) {
sn = mid;
return true;
}
else if(mid * mid < number) {
left = mid + 1;
} else
right = mid - 1;
}
return false;
}
本文介绍了一种使用二分查找算法来判断一个整数是否为完全平方数的方法,并实现了相应的C++函数。该算法的时间复杂度为O(logn),适用于高效处理大数据量的场景。
1085

被折叠的 条评论
为什么被折叠?



