![]() |
VOOZH | about |
Given a Matrix, the task is to write a Python program to get the count frequency of its rows lengths.
Input : test_list = [[6, 3, 1], [8, 9], [2], [10, 12, 7], [4, 11]]
Output : {3: 2, 2: 2, 1: 1}
Explanation : 2 lists of length 3 are present, 2 lists of size 2 and 1 of 1 length is present.
Input : test_list = [[6, 3, 1], [8, 9], [10, 12, 7], [4, 11]]
Output : {3: 2, 2: 2}
Explanation : 2 lists of length 3 are present, 2 lists of size 2.
Method #1 : Using dictionary + loop
In this we check for each row length, if length has occurred in the memorize dictionary, then the result is incremented or if a new size occurs, the element is registered as new.
The original list is : [[6, 3, 1], [8, 9], [2], [10, 12, 7], [4, 11]]
Row length frequencies : {3: 2, 2: 2, 1: 1}Time complexity: O(n), where n is the total number of sublists in the input list.
Auxiliary space complexity: O(n), where n is the total number of sublists in the input list. The dictionary used to store the frequency of each length takes up O(n) space.
Method #2 : Using Counter() + map() + len()
In this, map() and len() get the lengths of each sublist in the matrix, Counter is used to keep the frequency of each of the lengths.
Output:
The original list is : [[6, 3, 1], [8, 9], [2], [10, 12, 7], [4, 11]]
Row length frequencies : {3: 2, 2: 2, 1: 1}
Time complexity: O(n), where n is the total number of elements in the input list.
Auxiliary space: O(k), where k is the number of unique row lengths in the input list.
Method #3 : Using count() method
The original list is : [[6, 3, 1], [8, 9], [2], [10, 12, 7], [4, 11]]
Row length frequencies : {1: 1, 2: 2, 3: 2}Time complexity: O(n^2) where n is the length of the input list.
Auxiliary space: O(n) where n is the length of the input list.
Method #4 : Using operator.countOf() method
The original list is : [[6, 3, 1], [8, 9], [2], [10, 12, 7], [4, 11]]
Row length frequencies : {1: 1, 2: 2, 3: 2}Time Complexity: O(N*N)
Auxiliary Space: O(N*N)
Method #6: Using list comprehension and dictionary
The original list is : [[6, 3, 1], [8, 9], [2], [10, 12, 7], [4, 11]]
Row length frequencies : {3: 2, 2: 2, 1: 1}
Time complexity: O(n), where n is the length of test_list.
Auxiliary space: O(k), where k is the number of distinct row lengths in test_list.