进制分解
将数字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)
本文介绍了一种通过三进制分解来判断一个整数是否能被3的不同幂次的组合完全表示的方法。该方法通过不断取余和除以3来检查每个位上的数值,若出现2则表明该数不合法。
625

被折叠的 条评论
为什么被折叠?



