LeetCode #326 Power of Three 三的次方

英文原文如下

Given an integer n, return true if it is a power of three. Otherwise, return false.

An integer n is a power of three, if there exists an integer x such that n == 3x.

中文翻譯

給予一個整數 n ,要是它是二的次方就回傳 true,反之則回傳 false

一個整數 n 是二的次數的定義是,要是存在一個整數 x使得 n == 3x

範例及題目限制

進一步: 你可以使用非迭代/遞迴的方式來解決它嗎


解題思路

這一題其實與 LeetCode #231 Power of Two 二的次方 幾乎一模一樣

把裡面的2改為3就結束了,在第一個解法中也是使用for迴圈來進行判斷

C# 解決方案

方案1

public class Solution {
    public bool IsPowerOfThree(int n) {
        if(n<0){
            return false;
        }

        double nn = n*1.0;
        while(nn>=3)
        {
            nn/=3;
        }
        return nn == 1.0;
    }
}

Java解決方案

方案1

class Solution {
    public boolean isPowerOfThree(int n) {
        if(n<0){
            return false;
        }

        double nn = n*1.0;
        while(nn>=3)
        {
            nn/=3;
        }
        return nn == 1.0;
    }
}

Python3 解決方案

方案1

class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        if(n<0):
            return False

        while(n>=3):
            n=n/3

        return n == 1

JavaScript 解決方案

方案1

/**
 * @param {number} n
 * @return {boolean}
 */
var isPowerOfThree = function(n) {
    if(n<0){
        return false;
    }

    while(n>=3)
    {
        n/=3;
    }
    return n == 1;
};

結論

與二的次方相同,待補上用非遞迴/迭代的方式

🧡如果這篇文章有幫上你的一點點忙,那是我的榮幸

🧡收藏文章或幫我點個廣告,那都是對我的支持

✅如有任何疑問,歡迎透過留言或messenger讓我知道 !

題目連結 : Power of Two – LeetCode

類似的題目 : LeetCode #231 Power of Two 二的次方

其他的LeetCode文章

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *