算法第二十一天-丑数

丑数

题目要求

解题思路

首先判断数字是不是为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)

相关推荐
曲幽15 分钟前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
地平线开发者12 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮13 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者13 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考13 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
孟健15 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
HXhlx17 小时前
CART决策树基本原理
算法·机器学习
码路飞17 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
Wect17 小时前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
颜酱18 小时前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法