# Majority Element II LeetCode Solution

Here, We see Majority Element II LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.

# List of all LeetCode Solution

## Problem Statement

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]

## Majority Element II Leetcode Solution C++

``````class Solution {
public:
vector<int> majorityElement(vector<int>& nums)
{
int y(-1), z(-1), cy(0), cz(0);

for (const auto & x: nums)
{
if (x == y) cy++;
else if (x == z) cz++;
else if (! cy) y = x, cy = 1;
else if (! cz) z = x, cz = 1;
else cy--, cz--;
}

cy = cz = 0;
for (const auto & x: nums)
if (x == y) cy++;
else if (x == z) cz++;

vector<int> r;
if (cy > size(nums)/3) r.push_back(y);
if (cz > size(nums)/3) r.push_back(z);
return r;
}
};```Code language: PHP (php)```

## Majority Element II Leetcode Solution Java

``````class Solution {
public List<Integer> majorityElement(int[] nums) {
Map<Integer, Integer> elementCountMap = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
elementCountMap.put(nums[i], elementCountMap.getOrDefault(nums[i], 0) + 1);
}

List<Integer> majorityElements = new ArrayList<>();
int threshold = nums.length / 3;
for (Map.Entry<Integer, Integer> entry : elementCountMap.entrySet()) {
int element = entry.getKey();
int count = entry.getValue();
if (count > threshold) {
}
}
return majorityElements;
}
}```Code language: PHP (php)```

## Majority Element II Solution JavaScript

``````var majorityElement = function(nums) {
let candidate1 = 0, candidate2 = 1, count1 = 0, count2 = 0;
for (let num of nums) {
if (num === candidate1) {
count1++;
} else if (num === candidate2) {
count2++;
} else if (count1 === 0) {
candidate1 = num;
count1 = 1;
} else if (count2 === 0) {
candidate2 = num;
count2 = 1;
} else {
count1--;
count2--;
}
}
let result = [];
if (nums.filter(n => n === candidate1).length > nums.length / 3) result.push(candidate1);
if (nums.filter(n => n === candidate2).length > nums.length / 3) result.push(candidate2);
return result;
};```Code language: JavaScript (javascript)```

## Majority Element II Solution Python

``````class Solution(object):
def majorityElement(self, nums):
element_count = Counter(nums)
majority_elements = []
threshold = len(nums) // 3
for element, count in element_count.items():
if count > threshold:
majority_elements.append(element)
return majority_elements``````
Scroll to Top