Single Number II

Dscription:

Given an array of integers, every element appears three times except for one. Find that single one.

Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?

Code:

 1    int singleNumber(vector<int>& nums) {

 2      int result = 0;

 3      int n = nums.size();

 4      int length = 8*sizeof(int);

 5      for (int i = 0; i < length; ++i)

 6      {

 7          int temp = 0;

 8          for (int j = 0; j < n; ++j)

 9          {

10              if (nums[j] & (1<<i))

11                 temp++;

12          }

13          temp %= 3;

14          result = result | (temp<<i);

15      }

16      return result;

17     }

 

你可能感兴趣的:(number)