(Leetcode 2021 刷题计划) 263. 丑数

2021-04-12 10:24:01 浏览数 (1)

每日一题时间: 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 这种是不算为丑数的。

代码语言:txt复制
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)

参考资料

  1. 263. 丑数
  2. 丑数

0 人点赞