263. Ugly Number
https://github.com/openset/leetcode/tree/master/problems/ugly-number
Write a program to check whether a given number is an ugly number.
Ugly numbers are positive numbers whose prime factors only include 2, 3, 5
.
Example 1:
Input: 6 Output: true Explanation: 6 = 2 × 3
Example 2:
Input: 8 Output: true Explanation: 8 = 2 × 2 × 2
Example 3:
Input: 14 Output: false Explanation:14
is not ugly since it includes another pime factor7
.
Note:
1
is typically treated as an ugly number.- Input is within the 32-bit signed integer range: [−231, 231 − 1]
---
Time - log 2 N + log 3 N + log 5 N
Space - O(1)
---
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class Solution { | |
/** | |
* @param num: An integer | |
* @return: true if num is an ugly number or false | |
*/ | |
public boolean isUgly(int num) { | |
int[] factors = new int[] {2, 3, 5}; | |
for (int factor: factors) { | |
while (num % factor == 0) { | |
num /= factor; | |
} | |
} | |
return num == 1; | |
} | |
} |