zoukankan      html  css  js  c++  java
  • 位运算 的探究

    因为博主是在工作的闲余时间持续写文章的,所以仅仅有这里 位运算 的探究 [http://github.tiankonguse.com/blog/2014/10/10/bit-operation/]有最新的更新。其它地方仅仅是文章的初稿,往往不完整。

    PS:更新时间 2014-10-22.

    因为有人没看明确起初的O(n)操作, 所以这里就先简单的介绍一下 O(n log(n))的做法.

    我这里加入上主要的做法, 然后把O(n)做法的分析写的更具体了一个, 明确的人可能看起来比較啰嗦, 抱歉了.
    另外有人问如果是大部分都是4个同样, 仅仅有一个是2个同样怎么做, 这个问题我们能够称为4-2问题.
    这种话这篇文章主要解说的就是3-1问题了.

    为了不偏离主题, 我又一次写一篇文章专门讨论 n-m 问题.

    假设你不想看基本做法, 能够直接跳到 问题的来源 的位置, 向下滚动的时候, 应该能够看到有个文件夹, 点击 问题的来源 就可以.


    学弟发给我一个代码, 第一眼居然没看明确.

    1. int run(int n, int* A) {
    2. int ones = 0;// 出现一次的标志位
    3. int twos = 0;// 出现第二次标志位
    4. for(int i = 0; i < n; i++) {
    5. ones = (ones ^ A[i]) & ~twos;// 第二次出现的去掉, 第一次出现的加上, 第三次出现的不变
    6. twos = (twos ^ A[i]) & ~ones;// 第一次出现的不变, 第二次出现的加上, 第三次出现的去掉
    7. }
    8. return ones;
    9. }

    然后想到, 可能有位运算的一些规律, 比方分配率, 结合律, 交换律等.

    等待更新中。。。
  • 相关阅读:
    接口测试
    JMeter 插件管理
    JMeter IP欺骗压测
    Maven初窥门径
    都是分号惹的祸 ORA-00911
    插拔式设计思想
    第七章、Ajango自带auth模块
    第七章、中间件续写
    第七章、中间件
    第六章、Cookies和Session
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5165892.html
Copyright © 2011-2022 走看看