07 2016 档案

摘要:Using O(1) time to check whether an integer n is a power of 2. Example For n=4, return true; For n=5, return false; 思路: 知识点: n & (n - 1) 使得从右边数最后一个1变为 阅读全文

posted @ 2016-07-19 11:43 codingEskimo 阅读(135) 评论(0) 推荐(0)

摘要:参考http://www.hawstein.com/posts/5.1.html 方案1:先将N中第0位到第i位保存下来(左闭右开:[0, i)),记作ret, 然后将N中第0位到第j位全清0([0, j]),通过向右移动j+1位然后再向左移动j+1位得到。 最后用上面清0后的值或上(m«i)再或上 阅读全文

posted @ 2016-07-19 11:40 codingEskimo 阅读(144) 评论(0) 推荐(0)

摘要:方法一: 数学方法,先找到最大的值,需要比较最大的值和array size, 要是比array size小, 说明最大值missing。 然后用等差数列公式求得如果不缺失值的和,然后再减去array里数的和。 方法二: 先把不缺失的所有数取xor, 然后再对数组里的数取xor, 剩下的就是最后的结果 阅读全文

posted @ 2016-07-19 11:37 codingEskimo 阅读(276) 评论(0) 推荐(0)

摘要:方法二: num & (num -1) 一直就把最后一个非0位变成1, 一直变到所有的都是0, 那么process了几次, 就是有几位1 阅读全文

posted @ 2016-07-19 11:11 codingEskimo 阅读(117) 评论(0) 推荐(0)

摘要:Given a non-empty array of integers, every element appears three times except for one, which appears exactly once. Find that single one. Note: Your al 阅读全文

posted @ 2016-07-05 10:59 codingEskimo 阅读(184) 评论(0) 推荐(0)

摘要:There are two ways for the problem:1. Tradition: Setup a map or set.2. Bit operation: x ^ x = 0; so if the number keep XOR, the same ones will cancel 阅读全文

posted @ 2016-07-05 08:49 codingEskimo 阅读(138) 评论(0) 推荐(0)

摘要:这是一个bit opperation 的题目。 九章算法有一个比较好的解释 http://www.jiuzhang.com/solutions/a-b-problem/ a^b是不进位的加法,什么时候需要进位呢,就是a和b都是1的情况。这个时候a&b就能给出所有需要进位的位,所谓进位就是需要左移一位 阅读全文

posted @ 2016-07-05 08:14 codingEskimo 阅读(153) 评论(0) 推荐(0)

导航