BitManipulation
jizhi_de_wo
这个作者很懒,什么都没留下…
展开
-
Single Number
用异或的方法,灰常简单 public class Solution { public int singleNumber(int[] A) { int i = 0, j =0; for(; i < A.length; i++ ) j = j ^ A[i]; return j; } } 下面这个是错误的代码,用hashtabl原创 2015-02-24 02:26:02 · 279 阅读 · 0 评论 -
Single Number II
解题思路:用一个长度为32的数组a代表32个bit。用它记录下数组A中每一个元素在每一个bit上出现的次数(0次或1次)。然后对每个bit(即数组a的每个元素) 除3取余(出现三次的数,在每个bit上出现的次数叠加后,要么是3要么是0),每个bit余下来的值便是出现一次的数的每个bit上的值。最后根据每个bit的值,转成十进制的,便是出现一次的数。 public class Solution {原创 2015-02-25 02:31:19 · 296 阅读 · 0 评论