zoukankan      html  css  js  c++  java
  • LeetCode231-2的幂(水题,考察是否粗心)

    一开始还想移位什么的,后来发现不需要。

    1、2的次幂肯定能被2整除。n%2=0。不相等的肯定就不是。

    2、每次除以2,将商继续判断即可。

    注意2的次幂,是没有负数的!

     public boolean isPowerOfTwo(int n) {
            //2的幂次方,肯定不是负数
            //-2的幂次方才是正负数
    
            if(n<=0)
                return false;
    
    
            while(n!=1){
                if(n%2!=0){
                    return false;
                }
    
                n /= 2;
    
            }
    
            return true;
        }

    老实人做法,不快也是正常

    看一下第一的做法

     因为是整数int,2的次幂就那么几个,最大是2的31次方。只要把他们都枚举就好了,其他的都不是。

    2的0次方,1次方,2次方,一直到31次方。  中间的数肯定不算的。比如2的31次方+2的30次方,算2的次幂吗,不算

  • 相关阅读:
    javascript 对象只读
    异步IO
    模板
    Web框架
    WSGI接口
    web开发发展历程
    python函数中的参数类型
    学习网址
    python inspect模块
    详解python的装饰器decorator
  • 原文地址:https://www.cnblogs.com/weizhibin1996/p/9461088.html
Copyright © 2011-2022 走看看