方法有很多,我觉得比较容易记住的是两个,一个是二分法,在1-num/2中寻找目标数
另一个是数学方法:
public boolean isPerfectSquare(int num) {
/*
有很多方法,二分法,搜索法等等
最简单的方法需要知道一个数学定理
完全平方数等于奇数序列相加,1=1,4=1+3,9=1+3+5
*/
if (num<=0) return false;
int i=1;
while (num>0){
num-=i;
i+=2;
if(num==0) return true;
}
return false;
}