算法第二十一天-丑数

丑数

题目要求

解题思路

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

相关推荐
虚假程序设计4 分钟前
pythonnet 调用C接口
c语言·python
dhdjjsjs5 分钟前
Day32 PythonStudy
python
漏洞文库-Web安全13 分钟前
AWD比赛随笔
开发语言·python·安全·web安全·网络安全·ctf·awd
慕容青峰35 分钟前
【LeetCode 1925. 统计平方和三元组的数目 题解】
c++·算法·leetcode
冰西瓜60037 分钟前
动态规划(一)算法设计与分析 国科大
算法·动态规划
TL滕42 分钟前
从0开始学算法——第十一天(字符串基础算法)
笔记·学习·算法
哈哈xcpc-439943 分钟前
天梯赛题解(Python和C++解法)
开发语言·c++·python
smile_Iris1 小时前
Day 34 模块和库的导入
python
北极糊的狐1 小时前
报错java: 找不到符号符号: 类 XxxController位置: 程序包 com.ruoyi.xxx.xxx.service
开发语言·windows·python
roman_日积跬步-终至千里1 小时前
【计算机算法与设计(10)】习题:苹果买卖问题——分治法的经典应用
算法