Related Articles
Delete all odd frequency elements from an Array
• Last Updated : 14 Apr, 2020

Given an array arr containing integers of size N, the task is to delete all the elements from the array that have odd frequencies.

Examples:

Input: arr[] = {3, 3, 3, 2, 2, 4, 7, 7}
Output: {2, 2, 7, 7}
Explanation:
Frequency of 3 = 3
Frequency of 2 = 2
Frequency of 4 = 1
Frequency of 7 = 2
Therefore, the elements 3 and 4 have odd frequencies, and hence the are removed.

Input: arr[] = {1, 3, 3, 1, 2, 5, 6, 5}
Output: {1, 3, 3, 1, 5, 5}

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach:

Below is the implementation of the above approach:

## C++

 `// C++ program to removes all odd``// frequency elements from an Array`` ` `#include ``using` `namespace` `std;`` ` `// Function that removes the``// elements which have odd``// frequencies in the array``void` `remove``(``int` `arr[], ``int` `n)``{``    ``// Create a map to store the``    ``// frequency of each element``    ``unordered_map<``int``, ``int``> m;``    ``for` `(``int` `i = 0; i < n; i++) {``        ``m[arr[i]]++;``    ``}`` ` `    ``// Remove the elements which``    ``// have odd frequencies``    ``for` `(``int` `i = 0; i < n; i++) {`` ` `        ``// If the element has``        ``// odd frequency then skip``        ``if` `((m[arr[i]] & 1))``            ``continue``;`` ` `        ``cout << arr[i] << ``", "``;``    ``}``}`` ` `// Driver code``int` `main()``{``    ``int` `arr[]``        ``= { 3, 3, 3, 2,``            ``2, 4, 7, 7 };``    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);`` ` `    ``// Function call``    ``remove``(arr, n);`` ` `    ``return` `0;``}`

## Java

 `// Java program to removes all odd``// frequency elements from an Array``import` `java.util.*;`` ` `class` `GFG {`` ` `    ``// Function that removes the``    ``// elements which have odd``    ``// frequencies in the array``    ``static` `void` `remove(``int` `arr[], ``int` `n) {``        ``// Create a map to store the``        ``// frequency of each element``        ``HashMap mp = ``new` `HashMap();``        ``for` `(``int` `i = ``0``; i < n; i++) {``            ``if` `(mp.containsKey(arr[i])) {``                ``mp.put(arr[i], mp.get(arr[i]) + ``1``);``            ``} ``else` `{``                ``mp.put(arr[i], ``1``);``            ``}``        ``}`` ` `        ``// Remove the elements which``        ``// have odd frequencies``        ``for` `(``int` `i = ``0``; i < n; i++) {`` ` `            ``// If the element has``            ``// odd frequency then skip``            ``if` `((mp.containsKey(arr[i]) && mp.get(arr[i]) % ``2` `== ``1``))``                ``continue``;`` ` `            ``System.out.print(arr[i] + ``", "``);``        ``}``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `main(String[] args) {``        ``int` `arr[] = { ``3``, ``3``, ``3``, ``2``, ``2``, ``4``, ``7``, ``7` `};``        ``int` `n = arr.length;`` ` `        ``// Function call``        ``remove(arr, n);`` ` `    ``}``}`` ` `// This code is contributed by Rajput-Ji`

## Python3

 `# Python3 program to removes all odd ``# frequency elements from an Array `` ` `# Function that removes the ``# elements which have odd ``# frequencies in the array ``def` `remove(arr,  n) :`` ` `    ``# Create a map to store the``    ``# frequency of each element``    ``m ``=` `dict``.fromkeys(arr,``0``);``    ``for` `i ``in` `range``(n) :``        ``m[arr[i]] ``+``=` `1``;``         ` `    ``# Remove the elements which``    ``# have odd frequencies``    ``for` `i ``in` `range``(n) :`` ` `        ``# If the element has ``        ``# odd frequency then skip``        ``if` `((m[arr[i]] & ``1``)) :``            ``continue``;``             ` `        ``print``(arr[i],end``=` `", "``); `` ` `# Driver code ``if` `__name__ ``=``=` `"__main__"` `:`` ` `    ``arr    ``=` `[ ``3``, ``3``, ``3``, ``2``, ``            ``2``, ``4``, ``7``, ``7` `]; ``    ``n ``=` `len``(arr); `` ` `    ``# Function call ``    ``remove(arr, n); `` ` `# This code is contributed by Yash_R`

## C#

 `// C# program to removes all odd``// frequency elements from an Array``using` `System;``using` `System.Collections.Generic;`` ` `class` `GFG {``  ` `    ``// Function that removes the``    ``// elements which have odd``    ``// frequencies in the array``    ``static` `void` `remove(``int` `[]arr, ``int` `n) {`` ` `        ``// Create a map to store the``        ``// frequency of each element``        ``Dictionary<``int``, ``int``> mp = ``new` `Dictionary<``int``, ``int``>();``        ``for` `(``int` `i = 0; i < n; i++) {``            ``if` `(mp.ContainsKey(arr[i])) {``                ``mp[arr[i]] =  mp[arr[i]] + 1;``            ``} ``else` `{``                ``mp.Add(arr[i], 1);``            ``}``        ``}``  ` `        ``// Remove the elements which``        ``// have odd frequencies``        ``for` `(``int` `i = 0; i < n; i++) {``  ` `            ``// If the element has``            ``// odd frequency then skip``            ``if` `((mp.ContainsKey(arr[i]) && mp[arr[i]] % 2 == 1))``                ``continue``;``  ` `            ``Console.Write(arr[i] + ``", "``);``        ``}``    ``}``  ` `    ``// Driver code``    ``public` `static` `void` `Main(String[] args) {``        ``int` `[]arr = { 3, 3, 3, 2, 2, 4, 7, 7 };``        ``int` `n = arr.Length;``  ` `        ``// Function call``        ``remove(arr, n);``    ``}``}`` ` `// This code is contributed by 29AjayKumar`
Output:
```2, 2, 7, 7,
```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up