326_Power_of_Three

326. Power of Threeshell

Given an integer, write a function to determine if it is a power of three.oop

Follow up:
Could you do it without using any loop / recursion?spa

簡介code

這個題目很簡單,使用一個簡單的循環就能夠完成,可是題目中有說明:你能夠不使用循環和遞歸的狀況下完成它嗎?我想說:那果斷啊,否則尼?orm

然而我想了很久卻沒有思路,真心以爲循環的路被堵住之後,已經無路可走了,實在沒有想法,偷偷瞄了一眼別人的code,最後才完成最後的提交。遞歸

解決方案以下:three

n = 3**log3n it

代碼以下io

class Solution(object):
    def isPowerOfThree(self, n):
        """
        :type n: int
        :rtype: bool
        """
        if n == 1: 
            return True
        if n >= 3:
             return n > 0 and 3 ** round(math.log(n,3)) == n
        else:
            return False

總結function

看上去越簡單的題目,每每越難解決,

本站公眾號
   歡迎關注本站公眾號,獲取更多信息