春招刷题 - 263. 丑数

99 阅读1分钟

Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情

一、题目描述:

263. 丑数 - 力扣(LeetCode) (leetcode-cn.com)

给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false

丑数 就是只包含质因数 23 和/或 5 的正整数。

示例 1:

输入:n = 6
输出:true
解释:6 = 2 × 3

示例 2:

输入:n = 8
输出:true
解释:8 = 2 × 2 × 2

示例 3:

输入:n = 14
输出:false
解释:14 不是丑数,因为它包含了另外一个质因数 7 。

示例 4:

输入:n = 1
输出:true
解释:1 通常被视为丑数。

提示:

  • -2^31 <= n <= 2^31 - 1

二、思路分析:

根据题目:首先除2,直到不能整除为止,然后除5到不能整除为止,再然后除3直到不能整除为止。 最终判断剩余的数字是否为1,如果是1则为丑数,否则不是丑数

if 和while 的区别 1、if执行完所有的语句,就不会执行了 2、while:必须把条件内的语句执行完了才不会执行

三、AC 代码:

public boolean isUgly(int num) {
        if(num == 0){
            return false;
        }
        while (num != 1){
            if(num % 2 == 0){
                num /= 2;
                continue;
            }
            if(num % 3 == 0){
                num /= 3;
                continue;
            }
            if(num % 5 == 0){
                num /= 5;
                continue;
            }
            return false;
        }

        return true;
        
    }

范文参考

【宫水三叶】简单的分情况讨论题,以及为啥先除哪个都可以 - 丑数 - 力扣(LeetCode) (leetcode-cn.com)

丑数 - 丑数 - 力扣(LeetCode) (leetcode-cn.com)