0
点赞
收藏
分享

微信扫一扫

367. 有效的完全平方数【我亦无他唯手熟尔】


367. 有效的完全平方数

给定一个 正整数​num​​​ ,编写一个函数,如果 ​​num​​​ 是一个完全平方数,则返回 ​​true​​​ ,否则返回 ​​false​​ 。

进阶:不要 使用任何内置的库函数,如 sqrt 。

示例 1:

输入:num = 16
输出:true

示例 2:

输入:num = 14
输出:false

提示:

  • 1 <= num <= 231- 1

题解

思路:使用sqrt函数

class Solution {
public boolean isPerfectSquare(int num) {
double r=Math.sqrt(num);
// return r==(int)r?true:false;
return r==(int)r;
}
}

367. 有效的完全平方数【我亦无他唯手熟尔】_完全平方数


如果是判断一个数是否是2的幂次方

思路
2的幂次方的二进制是前面一个1后面都是0
2的幂次方-1的二进制是前面一个0后面都是1
二者与运算就会得到0

class Solution {
public boolean isPerfectSquare(int num) {
int n=num&num-1;
//return n==0?true:false;
return n==0;
}
}


举报

相关推荐

0 条评论