zoukankan      html  css  js  c++  java
  • leetcode 342— 4的幂

    package com.example.lettcode.bits;
    
    /**
     * @Class IsPowerOfFour
     * @Description 342 4的幂
     * 给定一个整数,写一个函数来判断它是否是 4 的幂次方。如果是,返回 true ;否则,返回 false 。
     * 整数 n 是 4 的幂次方需满足:存在整数 x 使得 n == 4x
     * 示例 1:
     * 输入:n = 16
     * 输出:true
     * <p>
     * 示例 2:
     * 输入:n = 5
     * 输出:false
     * <p>
     * 示例 3:
     * 输入:n = 1
     * 输出:true
     * @Author
     * @Date 2021/5/31
     **/
    public class IsPowerOfFour {
        /**
         * 方法1:位运算
         *
         * @param n
         * @return
         */
        public static boolean isPowerOfFour(int n) {
            if (n <= 0) return false;
            if (n == 1) return true;
    
            while (n > 1) {
                // 需要是4的倍数,如果不是,可以直接得出结论
                if (n % 4 != 0) return false;
                n >>= 2;
            }
            return true;
        }
    }
    
    // 测试用例
    public static void main(String[] args) {
    	int n = 16;
    	boolean ans = IsPowerOfFour.isPowerOfFour(n);
    	System.out.println("IsPowerOfFour demo01 result : " + ans);
    
    	n = 5;
    	ans = IsPowerOfFour.isPowerOfFour(n);
    	System.out.println("IsPowerOfFour demo02 result : " + ans);
    
    	n = 1;
    	ans = IsPowerOfFour.isPowerOfFour(n);
    	System.out.println("IsPowerOfFour demo03 result : " + ans);
    
    	n = 2;
    	ans = IsPowerOfFour.isPowerOfFour(n);
    	System.out.println("IsPowerOfFour demo04 result : " + ans);
    }
    
  • 相关阅读:
    jvm内存分部
    vue 浏览器滚动行为
    vue中vueRouter使用
    vue脚手架的安装和使用
    vue 在路由中复用组件
    单例模式
    ser2net使用
    怎样使用万用表来测试板子上的TX和RX引脚
    STM32W芯片的JTAG口用于GPIO
    openwrt构建过程探索
  • 原文地址:https://www.cnblogs.com/fyusac/p/14831583.html
Copyright © 2011-2022 走看看