LeetCode刷题实战263:丑数

算法的重要性,我就很少说了吧,想去大厂,就必需要通过基础知识和业务逻辑面试+算法面试。因此,为了提升你们的算法能力,后续天天带你们作一道算法题,题目就从LeetCode上面选 !今天和你们聊的问题叫作 丑数,咱们先来看题面:

An ugly number is a positive integer whose prime factors are limited to 2, 3, and 5.面试

Given an integer n, return true if n is an ugly number.算法

给你一个整数 n ,请你判断 n 是否为 丑数 。若是是,返回 true ;不然,返回 false 。丑数 就是只包含质因数 二、3 和/或 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 一般被视为丑数。ide

 

解题

 

若当前数能整除2,3,5,则一直整除2,3,5,直到不能整除为止,判断最后的数是否等于1便可,若是不是1就说明还有其余因子

class Solution {
    public boolean isUgly(int num) {
        if(num <= 0) return false;
        while(num % 2 == 0) num /= 2;
        while(num % 3 == 0) num /= 3;
        while(num % 5 == 0) num /= 5;
        return num == 1;
    }
}it

好了,今天的文章就到这里,若是以为有所收获,大家的支持是我最大的动力 。

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

相关文章
相关标签/搜索