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?
| 1 2 3 4 5 6 7 8 9 10 11 12 | class Solution { public:     int singleNumber(vector<int>& nums) {         sort(nums.begin(), nums.end());         for(int i = 0; i <= nums.size() - 4; i = i + 3) {             if(nums[i] != nums[i + 2]) {                 return nums[i];             }         }         return nums[nums.size() - 1];     } }; |