# Remove elements from the array whose frequency lies in the range [l, r]

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) My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.