LeetCode 0263. 丑数

LeetCode 0263. 丑数,第1张

【LetMeFly】263.丑数

力扣题目链接:https://leetcode.cn/problems/ugly-number/

丑数 就是只包含质因数 235 的正整数。

给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false

 

示例 1:

输入:n = 6
输出:true
解释:6 = 2 × 3

示例 2:

输入:n = 1
输出:true
解释:1 没有质因数,因此它的全部质因数是 {2, 3, 5} 的空集。习惯上将其视作第一个丑数。

示例 3:

输入:n = 14
输出:false
解释:14 不是丑数,因为它包含了另外一个质因数 7 

 

提示:

  • -231 <= n <= 231 - 1
方法一:模拟

如果原数小于等于0,那么它一定不是“丑数”。

在它不为“一”时,判断它是否能被“2”、“3”或“5”整除,

能除则除一次,若都不能,则不是“丑数”。

若最终它变成了“1”,则是“丑数”。

  • 时间复杂度 O ( log ⁡ n ) O(\log n) O(logn)
  • 空间复杂度 O ( 1 ) O(1) O(1)
AC代码 C++
class Solution {
public:
    bool isUgly(int n) {
        if (n <= 0)
            return false;
        while (n != 1) {
            if (n % 2 == 0)
                n /= 2;
            else if (n % 3 == 0)
                n /= 3;
            else if (n % 5 == 0)
                n /= 5;
            else
                return false;
        }
        return true;
    }
};

同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/126826353

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/2889227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-14
下一篇 2022-09-14

发表评论

登录后才能评论

评论列表(0条)

保存