https://leetcode.com/problems/single-number-ii/
排序可以做:
public class Solution {
public int singleNumber(int[] A) {
Arrays.sort(A);
int i;
for(i=0;i<A.length-1;i++){
if(A[i]==A[i+2])i+=2;
else break;
}
return A[i];
}
}
位操作也可以做:
public class Solution {
public int singleNumber(int[] A) {
int[]arr=new int[32];
for(int i=0;i<32;i++){
for(int j=0;j<A.length;j++){
arr[i]+=(A[j]>>i)&1;
}
}
int ret=0;
for(int i=0;i<32;i++){
ret+=(arr[i]%3)<<i;
}
return ret;
}
}