leetcode Daily Challenge on November 18th, 2022.
Difficulty : Easy
Related Topics : Math
similar as leetcode Daily Challenge on July 4th, 2020. ---- 264. Ugly Number II
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
.Input: 6 Output: true Explanation: 6 = 2 × 3
Input: 8 Output: true Explanation: 8 = 2 × 2 × 2
Input: 14 Output: false Explanation: 14 is not ugly since it includes another prime factor 7.
1
is typically treated as an ugly number.- Input is within the 32-bit signed integer range: [−2^31, 2^31 − 1].
- mine
- Java
Runtime: 2 ms, faster than 34.40%, Memory Usage: 36.4 MB, less than 86.82% of Java online submissions
// O(C)time C is the count of factors // O(1)space public boolean isUgly(int num) { if(num <= 0){ return false; } while(num % 2 == 0 || num % 3 == 0 || num % 5 == 0){ if(num % 2 == 0){ num /= 2; } if(num % 3 == 0){ num /= 3; } if(num % 5 == 0){ num /= 5; } } return num == 1; }
- Java
- the most votes
Runtime: 2 ms, faster than 34.40%, Memory Usage: 38.3 MB, less than 12.27% of Java online submissions
// O(C)time C is the count of factors // O(1)space public boolean isUgly(int num) { for (int i=2; i<6 && num>0; i++) while (num % i == 0) num /= i; return num == 1; }