每日一题时间:
2020-04-10
题目链接: 263. 丑数 官方题解链接: 丑数
题目
给你一个整数 n
,请你判断 n
是否为 丑数 。如果是,返回 true
;否则,返回 false
。
丑数 就是只包含质因数 2、3 和/或 5 的正整数。
代码语言:txt复制示例 1:
输入:n = 6
输出:true
解释:6 = 2 × 3
示例 2:
输入:n = 8
输出:true
解释:8 = 2 × 2 × 2
示例 3:
输入:n = 14
输出:false
解释:14 不是丑数,因为它包含了另外一个质因数 7 。
示例 4:
输入:n = 1
输出:true
解释:1 通常被视为丑数。
提示:
-231 <= n <= 231 - 1
解题方法
模拟
解题思路: 根据题意进行模拟即可,需要注意 -6
这种是不算为丑数的。
class Solution {
public:
bool isUgly(int n) {
if (n < 1) return false;
while(n % 2 == 0) n = n / 2;
while(n % 3 == 0) n = n / 3;
while(n % 5 == 0) n = n / 5;
return n == 1;
}
};
- 复杂度分析
- 时间复杂度:
O(log N)
- 空间复杂度:
O(1)
- 时间复杂度:
参考资料
- 263. 丑数
- 丑数