題目:原題鏈接(簡單)
是題目0326的延伸。
解法 | 時間複雜度 | 空間複雜度 | 執行用時 |
---|---|---|---|
Ans 1 (Python) | O(logn) | O(1) | 36ms (90.79%) |
Ans 2 (Python) | – | O(1) | 36ms (90.79%) |
LeetCode的Python執行用時隨緣,只要時間複雜度沒有明顯差異,執行用時一般都在同一個量級,僅作參考意義。
解法一(暴力解法):
def isPowerOfFour(self, num: int) -> bool:
if num <= 0:
return False
while num > 1:
if num % 4 == 0:
num /= 4
else:
return False
else:
return True
解法二(對數運算法):
def isPowerOfFour(self, num: int) -> bool:
if num <= 0:
return False
else:
return (math.log10(num) / math.log10(4)) % 1 == 0