首先判断数字是不是为0或者负数,两者均不可能成为丑数;
之后对n
进行不断整除,直到无法除尽为止。
简单判断最后的数是不是1即可。
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)