美文网首页
Bit Operation, Add Binary and La

Bit Operation, Add Binary and La

作者: 程序猪小羊 | 来源:发表于2018-04-26 04:37 被阅读7次
    0111 1111 1111 1111 1111 1111 1111 1111 // num
    1000 0000 0000 0000 0000 0000 0000 0000 // ~num
    0100 0000 0000 0000 0000 0000 0000 0000 // Integer.highestOneBit(num)
    1000 0000 0000 0000 0000 0000 0000 0000 // Integer.highestOneBit(num) << 1
    0111 1111 1111 1111 1111 1111 1111 1111 // Integer.highestOneBit(num) << 1 - 1
    至此,我们知道后面那些位,都是需要flip的。
    

    Leetcode 476. Number Complement

    思路

    • java - int - 32 bit
    • 找到可以开始取反的位置。(highestOneBit(n))
      其后的位数都是有用的 => Mask(有用位数都标记为1)
      最后输出“(~num) & mask;”

    那么如何找到Mask呢?
    见开头代码块。

    • 注意:mask 和 num都是定义的int

    对其后位置的各位进行取反。

    Java运算符优先级整理
    /*注意 位运算 优先级在 算术运算 之后 */

    括号(1级): () .(取成员变量)
    单目(2级)(从右向左) ! +(正)-(负)~(按位取反) ++ --
    算术(3-5级) * / %---->>>> + ----->>>><< >> >>>
    关系(6-7级) < <= > >= instanceof---->>>> == !=
    位(8-10级)(特殊的单目) & ---->>>>^ ---->>>> |
    逻辑(11-12级) && ---->>>> ||
    条件(13级) ? :
    赋值(14级)(从右向左) = += -+ *= /= %= &= |= ^= ~= <<= >>= >>>=

    小括號(parentheses)
    大括號(curly brackets)

    67. Add Binary

    How to encode binary and do computation?
    ???
    补齐位数后,每位相加。
    用一个int记录 - 进位。

    注意:
    ”String“

    58. Length of Last Word

    Thoughts:
    First, separate the last world
    Second, count its length.
    计算最后一个词——从后往前scan!:
    后面为空:一直往前,直到不为空;
    记录最后一个词;
    遇到空格停止。

        if(s.isEmpty()) return 0;
        int lastIndex = s.length()-1, leftIndex = 0; 
        while(lastIndex>0 && s.charAt(lastIndex) == ' ') lastIndex--;  // trim
        leftIndex = lastIndex;
        while(leftIndex>=0 && s.charAt(leftIndex) != ' ') leftIndex--; // find the penultimate index of space in s. 
        return lastIndex - leftIndex;
    

    For the first part,
    SAVE chars until you encounter the space -
    move out all;
    SAVE.

    end

    s.trim();

    length property.
    int [] ar; ar.length;
    String st; st.length();

    相关文章

      网友评论

          本文标题:Bit Operation, Add Binary and La

          本文链接:https://www.haomeiwen.com/subject/nfuulftx.html