zoukankan      html  css  js  c++  java
  • LC 231 power of 2

     ------------------------之前写笔记是不过脑子吗?????自己看都被恶心到了。。。。

    以为搜易贼

    两分钟写好的东西果然。。

    public class Solution {
    public boolean isPowerOfTwo(int n) {
    int result=0;
    while(true)
    {
    result=n/2;
    if(result==1)
    return false;
    else if(result==0)
    return true;
    else
    continue;
    }

    }
    }

    很明显把求余和取整弄混了

    2就一点都不对了。。一定一定要取几个特殊的例子!!!蓝而2并不特殊

    我太蠢了

    最后AC代码如下----递交两次-第一次是0,第二次是1,估计再做power3 就得把0,1,2全部带入检验了!!

    public class Solution {
    public boolean isPowerOfTwo(int n) {
    int result=n;
    while(true)
    {
    if(result==1)
    return true;
    if(result==0)
    return false;

    if(result%2!=0)
    return false;
    result=result/2;
    }

    }
    }

    事实证明。我还是太naive

     return (n>0) && (!(n&(n-1)));  一句话,就完了

    &--按位与或者取地址

    n=10100,n-1=10011;n&(n-1)=10000;】

    如果是2的幂,其二进制表示一定是1 后面000·······这样

    然而我还不明白这咋回事--去看看编程之美

    ---恢复内容结束---

  • 相关阅读:
    Android访问数据库(SQL Server 和 MySQL)
    Andriod开发环境搭建
    SQL 学习记录
    安装双系统 win7 + ubuntu 15.04
    SQL资料
    电脑使用
    python_L7
    ONE
    网页性能优化
    js的继承
  • 原文地址:https://www.cnblogs.com/Cherrylalala/p/5897786.html
Copyright © 2011-2022 走看看