Power of Three (LeetCode)
Problem Description​
Problem Statement | Solution Link |
---|---|
Power of Three | Power of Three Solution on LeetCode |
Problem Description​
Given an integer n
, return true
if it is a power of three. Otherwise, return false
.
An integer n
is a power of three if there exists an integer x
such that n == 3^x
.
Examples​
Example 1:​
- Input: n = 27
- Output: true
Example 2:​
- Input: n = 0
- Output: false
Example 3:​
- Input: n = 9
- Output: true
Example 4:​
- Input: n = 45
- Output: false
Constraints:​
Approach​
We can solve this problem by iterating and multiplying a variable starting from 3 until it exceeds or equals n
. If at any point it equals n
, we return true
. If we exceed n
without finding an exact match, we return false
.
Solution Code​
C++​
class Solution {
public:
bool isPowerOfThree(int n) {
if(n == 1) {
return true;
}
for(long long i = 3; i <= n; i *= 3) {
if(i == n) {
return true;
}
}
return false;
}
};
Python​
class Solution:
def isPowerOfThree(self, n: int) -> bool:
if n == 1:
return True
i = 3
while i <= n:
if i == n:
return True
i *= 3
return False
Java​
class Solution {
public boolean isPowerOfThree(int n) {
if (n == 1) {
return true;
}
for (long i = 3; i <= n; i *= 3) {
if (i == n) {
return true;
}
}
return false;
}
}
JavaScript​
var isPowerOfThree = function(n) {
if (n === 1) {
return true;
}
for (let i = 3; i <= n; i *= 3) {
if (i === n) {
return true;
}
}
return false;
};
Conclusion​
The "Power of Three" problem can be solved by iteratively checking powers of three. The provided solutions in C++, Python, Java, and JavaScript efficiently implement this approach, ensuring correct results within the given constraints.