算法第二十一天-丑数

丑数

题目要求

解题思路

首先判断数字是不是为0或者负数,两者均不可能成为丑数;

之后对n进行不断整除,直到无法除尽为止。

简单判断最后的数是不是1即可。

代码

python 复制代码
class Solution:
    def isUgly(self, n: int) -> bool:
        if n<=0:
            return False
        if n <= 0:
            return False
        while n % 2 == 0:
            n //= 2
        while n % 3 == 0:
            n //= 3
        while n % 5 == 0:
            n //= 5
        return n == 1

复杂度分析

时间复杂度: O ( l o g n ) O(log n) O(logn)

空间复杂度: O ( 1 ) O(1) O(1)

相关推荐
一个不知名程序员www6 小时前
算法学习入门 --- 哈希表和unordered_map、unordered_set(C++)
c++·算法
jaray6 小时前
PyCharm 2024.3.2 Professional 如何更换 PyPI 镜像源
ide·python·pycharm·pypi 镜像源
Psycho_MrZhang6 小时前
Neo4j Python SDK手册
开发语言·python·neo4j
Sarvartha7 小时前
C++ STL 栈的便捷使用
c++·算法
web3.08889997 小时前
1688图片搜索API,相似商品精准推荐
开发语言·python
少云清7 小时前
【性能测试】15_JMeter _JMeter插件安装使用
开发语言·python·jmeter
夏鹏今天学习了吗7 小时前
【LeetCode热题100(92/100)】多数元素
算法·leetcode·职场和发展
光羽隹衡7 小时前
机器学习——TF-IDF实战(红楼梦数据处理)
python·tf-idf
飞Link8 小时前
深度解析 MSER 最大稳定极值区域算法
人工智能·opencv·算法·计算机视觉
bubiyoushang8888 小时前
基于CLEAN算法的杂波抑制Matlab仿真实现
数据结构·算法·matlab