All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0201_0300.s0263_ugly_number.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g0201_0300.s0263_ugly_number;

// #Easy #Math #2022_07_05_Time_2_ms_(65.06%)_Space_41.3_MB_(46.18%)

/**
 * 263 - Ugly Number\.
 *
 * Easy
 *
 * 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**_.
 *
 * **Example 1:**
 *
 * **Input:** n = 6
 *
 * **Output:** true
 *
 * **Explanation:** 6 = 2 × 3
 *
 * **Example 2:**
 *
 * **Input:** n = 8
 *
 * **Output:** true
 *
 * **Explanation:** 8 = 2 × 2 × 2 
 *
 * **Example 3:**
 *
 * **Input:** n = 14
 *
 * **Output:** false
 *
 * **Explanation:** 14 is not ugly since it includes the prime factor 7. 
 *
 * **Example 4:**
 *
 * **Input:** n = 1
 *
 * **Output:** true
 *
 * **Explanation:** 1 has no prime factors, therefore all of its prime factors are limited to 2, 3, and 5. 
 *
 * **Constraints:**
 *
 * *   -231 <= n <= 231 - 1
**/
public class Solution {
    public boolean isUgly(int n) {
        if (n == 1) {
            return true;
        } else if (n <= 0) {
            return false;
        }
        int[] factors = new int[] {2, 3, 5};
        for (int factor : factors) {
            while (n > 1 && n % factor == 0) {
                n /= factor;
            }
        }
        return n == 1;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy