263.丑数

【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(1)$

AC代码

C++

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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


263.丑数
https://blog.letmefly.xyz/2022/09/13/LeetCode 0263.丑数/
作者
Tisfy
发布于
2022年9月13日
许可协议