Related Articles
Remove elements from the array whose frequency lies in the range [l, r]
• Difficulty Level : Easy
• Last Updated : 15 May, 2019

Given an array of integers, remove the elements from the array whose frequency lies in the range [l, r].

Examples:

Input : arr[] = { 1, 2, 3, 3, 2, 2, 5 }
l = 2, r = 3
Output : 1 5
We remove all those elements with frequencies from 2 to 5.

Input : arr[] = { 1, 2, 3, 3, 3, 3 }
l = 2, r = 3
Output : 3 3 3 3

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

Approach :

• Take a hash map, which will store the frequency of all the elements in the array.
• Now, traverse once again.
• Remove the elements whose frequency lies between [l, r].
• Else, print it.

## C++

 `// C++ program to remove the elements whose``// frequency appears in the range [l, r]``#include "iostream"``#include "unordered_map"``using` `namespace` `std;`` ` `void` `removeElements(``int` `arr[], ``int` `n, ``int` `l, ``int` `r)``{``    ``// Hash map which will store the``    ``// frequency of the elements of the array.``    ``unordered_map<``int``, ``int``> mp;`` ` `    ``for` `(``int` `i = 0; i < n; ++i) {`` ` `        ``// Incrementing the frequency``        ``// of the element by 1.``        ``mp[arr[i]]++;``    ``}`` ` `    ``for` `(``int` `i = 0; i < n; ++i) {`` ` `        ``// Print the element whose frequency``        ``// is not in the range [l, r]``        ``if` `(mp[arr[i]] < l or mp[arr[i] > r]) {``            ``cout << arr[i] << ``" "``;``        ``}``    ``}``}`` ` `int` `main()``{``    ``int` `arr[] = { 1, 2, 3, 3, 2, 2, 5 };``    ``int` `n = ``sizeof``(arr) / ``sizeof``(arr);``    ``int` `l = 2, r = 3;``    ``removeElements(arr, n, l, r);``    ``return` `0;``}`

## Java

 `// Java program to remove the elements whose``// frequency appears in the range [l, r]``import` `java.util.HashMap;`` ` `class` `GFG {`` ` `    ``static` `void` `removeElements(``int` `arr[], ``int` `n, ``int` `l, ``int` `r)``    ``{``        ``// Hash map which will store the``        ``// frequency of the elements of the array.``        ``HashMap mp = ``new` `HashMap<>();`` ` `        ``for` `(``int` `i = ``0``; i < n; ++i) {`` ` `            ``// Incrementing the frequency``            ``// of the element by 1.``            ``// mp[arr[i]]++;``            ``int` `val = ``0``;``            ``if` `(mp.get(arr[i]) == ``null``) {``                ``val = ``1``;``            ``}``            ``else` `{``                ``val = mp.get(arr[i]) + ``1``;``            ``}``            ``// System.out.println("--"+mp.get(arr[i]));``            ``mp.put(arr[i], val);``        ``}`` ` `        ``for` `(``int` `i = ``0``; i < n; ++i) {`` ` `            ``// Print the element whose frequency``            ``// is not in the range [l, r]``            ``if` `(mp.get(arr[i]) < l || mp.get(arr[i]) > r) {``                ``System.out.print(arr[i] + ``" "``);``            ``}``        ``}``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `arr[] = { ``1``, ``2``, ``3``, ``3``, ``2``, ``2``, ``5` `};``        ``int` `n = arr.length;``        ``int` `l = ``2``, r = ``3``;``        ``removeElements(arr, n, l, r);``    ``}``}`` ` `// This code is contributed by 29AjayKumar`

## Python3

 `# Python 3 program to remove the elements ``# whose frequency appears in the range [l, r]`` ` `def` `removeElements(arr, n, l, r):``     ` `    ``# Hash map which will store the``    ``# frequency of the elements of the array.``    ``mp ``=` `{i:``0` `for` `i ``in` `range``(``len``(arr))}`` ` `    ``for` `i ``in` `range``(n):``         ` `        ``# Incrementing the frequency``        ``# of the element by 1.``        ``mp[arr[i]] ``+``=` `1`` ` `    ``for` `i ``in` `range``(n):``         ` `        ``# Print the element whose frequency``        ``# is not in the range [l, r]``        ``if` `(mp[arr[i]] < l ``or` `mp[arr[i] > r]):``            ``print``(arr[i], end ``=` `" "``)``     ` `# Driver Code``if` `__name__ ``=``=` `'__main__'``:``    ``arr ``=` `[``1``, ``2``, ``3``, ``3``, ``2``, ``2``, ``5``]``    ``n ``=` `len``(arr)``    ``l ``=` `2``    ``r ``=` `3``    ``removeElements(arr, n, l, r);``     ` `# This code is contributed by``# Sahil_Shelangia`

## C#

 `// C# program to remove the elements whose``// frequency appears in the range [l, r]``using` `System;``using` `System.Collections.Generic;`` ` `class` `GFG {`` ` `    ``static` `void` `removeElements(``int``[] arr, ``int` `n, ``int` `l, ``int` `r)``    ``{``        ``// Hash map which will store the``        ``// frequency of the elements of the array.``        ``Dictionary<``int``, ``int``> mp = ``new` `Dictionary<``int``, ``int``>();`` ` `        ``for` `(``int` `i = 0; i < n; ++i) {`` ` `            ``// Incrementing the frequency``            ``// of the element by 1.``            ``// mp[arr[i]]++;``            ``int` `val = 0;``            ``if` `(!mp.ContainsKey(arr[i])) {``                ``val = 1;``            ``}``            ``else` `{``                ``val = mp[arr[i]] + 1;``            ``}``            ``if` `(!mp.ContainsKey(arr[i]))``                ``mp.Add(arr[i], val);``            ``else` `{``                ``mp.Remove(arr[i]);``                ``mp.Add(arr[i], val);``            ``}``        ``}`` ` `        ``for` `(``int` `i = 0; i < n; ++i) {`` ` `            ``// Print the element whose frequency``            ``// is not in the range [l, r]``            ``if` `(mp[arr[i]] < l || mp[arr[i]] > r) {``                ``Console.Write(arr[i] + ``" "``);``            ``}``        ``}``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `Main(String[] args)``    ``{``        ``int``[] arr = { 1, 2, 3, 3, 2, 2, 5 };``        ``int` `n = arr.Length;``        ``int` `l = 2, r = 3;``        ``removeElements(arr, n, l, r);``    ``}``}`` ` `// This code contributed by Rajput-Ji`
Output:
```1 5
```

Time Complexity – O(N)

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.  Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price.

In case you wish to attend live classes with industry experts, please refer Geeks Classes Live and Geeks Classes Live USA

My Personal Notes arrow_drop_up