human
Write me a Python code to find that single one given the following:
I found an interesting problem on https://leetcode.com/problems/single-number-ii/:
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

I tried it in Python, but could not do it. Can you solve it?
assistant
#Here is Python code to find that single one.

class Solution:
     def singleNumber(self, nums):
         """
         :type nums: List[int]
         :rtype: int
         """
         a = b = 0
         for c in nums:
             a, b = a&~b&~c|~a&b&c, ~a&b&~c|~a&~b&c
         return b