JAVA解法
class Solution {
public boolean isUgly(int n) {
// 边界判断
if (n <= 0) {
return false;
}
// 丑数包含的所有正整数
int[] factors = {2, 3, 5};
// 对传进来的值对 factors 中的每一个进行求余
for (int factor : factors) {
// 若可以求余,则除以该值,不行则跳过
while (n % factor == 0) {
n /= factor;
}
}
// 结果为 1 证明是丑数,否则不是丑数
return n == 1;
}
}
题解分析
将传进来的整数对 2, 3, 5 三个数进行除法运算,若结果为 1,则证明该数的质因数为这三个,即为丑数。
leetcode原题: 263. 丑数
评论区