# 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++ 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[0]); ` `    ``int` `l = 2, r = 3; ` `    ``removeElements(arr, n, l, r); ` `    ``return` `0; ` `} `

 `// 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 `

 `# 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# 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)

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.

Practice Tags :