Given an unsorted array of n integers which can contains n integers. Count frequency of all elements that are present in array. Examples:
Input : arr[] = [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4, 5, 5] Output : 1 -> 4 2 -> 4 3 -> 2 4 -> 1 5 -> 2
This problem can be solved in many ways, refer Count frequencies of all elements in array link. In Python, we can quickly solve this problem in using Collections module.
Implementation:
Python
# Function to count frequency of each element import collections # it returns a dictionary data structure whose # keys are array elements and values are their # corresponding frequencies {1: 4, 2: 4, 3: 2, # 5: 2, 4: 1} def CountFrequency(arr): return collections.Counter(arr) # Driver function if __name__ = = "__main__" : arr = [ 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 3 , 3 , 4 , 5 , 5 ] freq = CountFrequency(arr) # iterate dictionary named as freq to print # count of each element for (key, value) in freq.items(): print (key, " -> " , value) |
(1, ' -> ', 4) (2, ' -> ', 4) (3, ' -> ', 2) (4, ' -> ', 1) (5, ' -> ', 2)
The time complexity of this function is O(n), where n is the length of the input array.
The auxiliary space required by this function is O(k), where k is the number of unique elements in the input array.
Related Article : Counting the frequencies in a list using dictionary in Python This article is contributed by Shashank Mishra (Gullu).
If you like Lazyroar and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the Lazyroar main page and help other Geeks.