zoukankan      html  css  js  c++  java
  • LeetCode 326. Power of Three

    原题链接在这里:https://leetcode.com/problems/power-of-three/

    题目:

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

    Example 1:

    Input: 27
    Output: true
    

    Example 2:

    Input: 0
    Output: false

    Example 3:

    Input: 9
    Output: true

    Example 4:

    Input: 45
    Output: false

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

    题解:

    检查能否被3整除,然后整除,看能否一直除到1.

    Time Complexity: O(logn).

    Space: O(1).

    AC Java:

     1 public class Solution {
     2     public boolean isPowerOfThree(int n) {
     3         if(n<=0){
     4             return false;
     5         }
     6         while(n%3 == 0){
     7             n /= 3;
     8         }
     9         return n==1;
    10     }
    11 }

    Follow up 不用 loop. 整数范围内最大的3的幂数, 3^19 = 1162261467能否被n整除.

    Time Complexity: O(1). Space: O(1).

    AC Java:

    1 public class Solution {
    2     public boolean isPowerOfThree(int n) {
    3         return n>0 && 1162261467%n==0;
    4     }
    5 }

    类似Power of Two

  • 相关阅读:
    平时十二测
    无题十四
    暑假第十测
    无题十三
    noip错题集
    无题十二
    BZOJ整理
    志愿者招募
    修车
    任务安排
  • 原文地址:https://www.cnblogs.com/Dylan-Java-NYC/p/5115116.html
Copyright © 2011-2022 走看看