> For the complete documentation index, see [llms.txt](https://snowan.gitbook.io/study-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://snowan.gitbook.io/study-notes/leetcode/python/000137-single-number-ii.md).

# 000137-single-number-ii

### Problem

<https://leetcode.com/problems/single-number-ii/description/>

Given an integer array nums where every element appears three times except for one, which appears exactly once. Find the single element and return it.

You must implement a solution with a linear runtime complexity and use only constant extra space.

Example 1:

Input: nums = \[2,2,3,2] Output: 3 Example 2:

Input: nums = \[0,1,0,1,0,1,99] Output: 99

Constraints:

1 <= nums.length <= 3 \* 104 -231 <= nums\[i] <= 231 - 1 Each element in nums appears exactly three times except for one element which appears once.

### Solution

**1. Brute force**

```python
class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        freq_counter = collections.Counter(list(nums))
        res = [k for k, v in freq_counter.items() if v == 1]
        return res[0]
```

other solutions refrence <https://leetcode.com/problems/single-number-ii/solutions/3714928/bit-manipulation-c-java-python-beginner-friendly/>
