PHP Challenges: найти элемент большинства в массиве
Задачи PHP - 1: упражнение 23 с решением
Напишите программу PHP, чтобы найти элемент большинства в массиве.
Вход: массив (1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 6)
Примечание. Элемент контрольного значения - это элемент, который появляется более чем в n / 2 раза, где n - это количество элементов в массиве.
Пояснение:
Пример решения :
PHP-код:
<?php
function majority_element($arr)
{
$idx = 0;
$ctr = 1;
for($i=1; $i<sizeof($arr); $i++)
{
if ($arr[$idx] == $arr[$i])
{
$ctr += 1;
}
else
{
$ctr -= 1;
if ($ctr == 0)
{
$idx = $i;
$ctr = 1;
}
}
}
return $arr[$idx];
}
$num1 = array(1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 6);
$num2 = array(1,2,3,3,3,3,2,3,5,3,1,3,3,4,6,1,3,3,4,6,6);
print_r(majority_element($num1)."\n");
print_r(majority_element($num2)."\n");
?>
Пример вывода:
5 3
Блок - схема:
Редактор кода PHP:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу PHP, которая помещает все нули в конец массива.
Далее: Напишите программу PHP, чтобы найти длину последнего слова в строке.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code