Java one line solution using Math knowledge


  • 6
    Y

    Some math knowledge can solve it without using recursion or loops. Yet I don't see the value of this question.

    public boolean isPowerOfThree(int n) {
        return n == 0 ? false : n == Math.pow(3, Math.round(Math.log(n) / Math.log(3)));
    }

  • 0
    M

    If Math.round(Math.log(n) / Math.log(3)) is close enough to integer, might we instantly infer that n is actually a power of three without computing the Math.pow() method and accumulating additional computational error?


Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.