Majority element problem 1 is that let T1n be an array of n

Majority element problem 1. is that let T[1...n] be an array of n elements. An element x is said to be a majority element if the number of elements {i | T[i] = x} is greater than n/2. It can be only one such element. Given a linear-time algorithm to determine whether or not an array T[1...n] contains such a majority element.

Solution

Algorithm MajorityElement(Array[1..n])
index = 1;
count = 1;
for i = 1 : n
if Array[index] == Array[i]:
count++;
else
count--;
if count == 0:
count 1;
index = i;
count := 0;
for i = 1 : n   
if Array[index] == Array[i]:
count++;
if count > n / 2:
return true;
return false;   

Majority element problem 1. is that let T[1...n] be an array of n elements. An element x is said to be a majority element if the number of elements {i | T[i] =

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site