229\. Majority Element II

Medium

Given an integer array of size `n`, find all elements that appear more than `⌊ n/3 ⌋` times.

**Example 1:**

**Input:** nums = [3,2,3]

**Output:** [3] 

**Example 2:**

**Input:** nums = [1]

**Output:** [1] 

**Example 3:**

**Input:** nums = [1,2]

**Output:** [1,2] 

**Constraints:**

*   <code>1 <= nums.length <= 5 * 10<sup>4</sup></code>
*   <code>-10<sup>9</sup> <= nums[i] <= 10<sup>9</sup></code>

**Follow up:** Could you solve the problem in linear time and in `O(1)` space?