// A majority element = element that appears more than size/2 times in an array[size]
function getMajorityElement($arr) {
$num = array_fill(0,10,0);
$len = count($arr);
for ($i = 0; $i < $len; $i++) {
$num[$arr[$i]]++;
}
for ($i = 0; $i < 9; $i++) {
if ($num[$i] != 0) {
printf("%d : %d\n", $i, $num[$i]);
if ($num[$i] > (int)($len / 2)) {
return $i;
}
}
}
return 0;
}
$arr = array(2, 5, 3, 5, 5, 1, 5, 5, 5, 7, 3);
$majority = getMajorityElement($arr);
if ($majority != 0) {
printf("majority element = %d\n",$majority);
}
else {
echo "Majority element doesn\'t exists\n","\n";
}
/*
run:
1 : 1
2 : 1
3 : 2
5 : 6
majority element = 5
*/