Majority element

You have been given an array/list 'ARR' consisting of 'N' integers. Your task is to find the majority element in the array. If there is no majority element present, print -1.

Note:
A majority element is an element that occurs more than floor('N' / 2) times in the array.
Input Format:
The first line of input contains an integer 'T' representing the number of test cases.

The first line of each test case contains a single positive integer ‘N’ representing the size of the array/list.

The second line of each test case contains ‘N’ single space-separated integers representing the array elements of 'ARR'.
Output Format :
For each test case, print an integer denoting the majority element present in the array. Print-1 in case of no majority element.
Note :
You don't need to print the output, it has already been taken care of. Just implement the given function.
Constraints:
1 <= T <= 100
1 <= N <= 5 * 10^3
-10^5 <= ARR[i] <= 10^5

Where 'ARR[i]' denotes the element at the 'i'th index in the array/list 'ARR'.

Time limit: 1 sec
CodingNinjas
author
2y
Brute Force Approach

The basic idea is to traverse the array and count the frequency of each element.

We will run two nested loops till ‘N’ and store the count of each array element in ‘maxCount’. If ...read more

CodingNinjas
author
2y
Using HashMap

We will maintain a hashmap to store element-frequency pairs. We will traverse the array and store the frequency of each element in the hashmap.

If the frequency of any element becomes gr...read more

CodingNinjas
author
2y
Boyer-Moore majority vote algorithm

We can find the majority element in linear time and constant space using Moore’s voting algorithm. It is based on the fact that since the majority element occurs mor...read more

Add answer anonymously...
Smart Energy Water Software Developer Interview Questions
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions
Get AmbitionBox app

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter