算法-总结

2018/04/06 Private 算法 Java
  本文为「原创」内容,如需转载请注明出处!             
本文共 440 字,需 5 分钟阅读

位运算

  1. 判断是否为 2 的幂
    (num & (num-1)) == 0
    
  2. 判断一个数是否为偶数
    (num & 1) == 0
    
  3. 将一个数乘除 2
    // 乘2
    num << 1
    // 除2,注意是否需要最高位,否则用 >>>
    num >> 1
    
  4. 将一个数的二进制状态下最右边的 1 变成 0
    num = num & (num - 1)
    
  5. 将一个字符改变大小写
    ch = (char)(ch ^ 32)
    

  1. 完全二叉树叶节点个数
    //(总的节点数 + 1) / 2 取整
    int count = (n+1)/2
    

其它

  1. 32 位 int 的最大值的量级为 \(2 \times 10^9\)
  2. 64 位 long 的最大值的量级为 \(2 \times 10^{18}\)
    辅助记忆 2*9 = 18
    

搜索

    文章目录