进制分解
将数字n按三进制分解,枚举每一位上的数组,如果是2,说明这个数分解后有相同的3的幂,是不合法的。否则直到枚举所有位都合法返回true。
class Solution {
public:
bool checkPowersOfThree(int n) {
while(n){
if(n%3==2) return 0;
n/=3;
}
return 1;
}
};
时间复杂度:O(logn)
空间复杂度:O(1)