2016年7月19日

摘要: 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 阅读(124) 评论(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 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 方法一: 数学方法,先找到最大的值,需要比较最大的值和array size, 要是比array size小, 说明最大值missing。 然后用等差数列公式求得如果不缺失值的和,然后再减去array里数的和。 方法二: 先把不缺失的所有数取xor, 然后再对数组里的数取xor, 剩下的就是最后的结果 阅读全文
posted @ 2016-07-19 11:37 codingEskimo 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 方法二: num & (num -1) 一直就把最后一个非0位变成1, 一直变到所有的都是0, 那么process了几次, 就是有几位1 阅读全文
posted @ 2016-07-19 11:11 codingEskimo 阅读(101) 评论(0) 推荐(0) 编辑

导航