137. Single Number II
Medium
655224FavoriteShare
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 algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
Example 1:
Input: [2,2,3,2] Output: 3
Example 2:
Input: [0,1,0,1,0,1,99] Output: 99
class Solution {
public int singleNumber(int[] nums) {
int sum = 0;
for (int i = 0; i < 32; i++) {
int bit = 0;
for (int j = 0; j < nums.length; j++) {
bit += (nums[j] >> i) & 1;
bit %= 3;
}
sum |= (bit << i);
}
return sum;
}
}