Given a linked list, find majority element. An element is called Majority element if it appears more than or equal to n/2 times where n is total number of nodes in the linked list.
Input : 1->2->3->4->5->1->1->1->NULL Output : 1 Explanation 1 occurs 4 times Input :10->23->11->9->54->NULL Output :NO majority element
Run two loops starting from head and count frequency of each element iteratively. Print the element whose frequency is greater than or equal to n/2. In this approach time complexity will be O(n*n) where n is the number of nodes in the linked list.
Time Complexity O(n*n)
Method 2 Use hashing technique. We count frequency of each element and then we print the element whose frequency is ≥ n/2;
Time Complexity O(n)
majority element is 1
- Create new linked list from two given linked list with greater element at each node
- Create a linked list from two linked lists by choosing max element at each position
- Majority Element | Set-2 (Hashing)
- Second Smallest Element in a Linked List
- Move first element to end of a given Linked List
- Count majority element in a matrix
- Majority element in a circular array of 0's and 1's
- Find the Second Largest Element in a Linked List
- Find the first duplicate element in the linked list
- Find a peak element in Linked List
- Rearrange a linked list in to alternate first and last element
- Move all occurrences of an element to end in a linked list
- Move last element to front of a given Linked List
- Search an element in a Linked List (Iterative and Recursive)
- Maximum and Minimum element of a linked list which is divisible by a given number k
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.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.