1780. 判断一个数字是否可以表示成三的幂的和
Problem: 1780. 判断一个数字是否可以表示成三的幂的和
文章目录
- 思路
- 解题过程
- 复杂度
- Code
思路
如果一个数字不能由
3
的幂的和组成,那么这个数的三进制位中一定存在2
,反之能。
解题过程
循环检查
n \= 3 % 2
是否为0
。
复杂度
-
时间复杂度: O(logn)O(logn)O(logn)
-
空间复杂度: O(1)O(1)O(1)
Code
class Solution {public:bool checkPowersOfThree(int n) {while (n > 0) {if (n % 3 == 2) return false;n /= 3;}return true;}};