Сложность: easy
Дан массив nums размера n, верните элемент большинства.
Элемент большинства — это элемент, который встречается более чем ⌊n / 2⌋ раз. Можно предположить, что элемент большинства всегда существует в массиве.
Пример:
Input: nums = [3,2,3]
Output: 3
👨💻 Алгоритм:
1⃣Использование HashMap для подсчета:
Создайте HashMap для отслеживания количества каждого элемента в массиве.
2⃣Подсчет вхождений элементов:
Пройдите по массиву nums, увеличивая счетчик в HashMap для каждого элемента.
3⃣Поиск элемента большинства:
Определите элемент большинства, просмотрев HashMap и найдя ключ с максимальным значением, которое должно быть больше ⌊n / 2⌋
😎 Решение:
function majorityElement($nums) {
$counts = [];
foreach ($nums as $num) {
if (!isset($counts[$num])) {
$counts[$num] = 1;
} else {
$counts[$num]++;
}
}
foreach ($counts as $num => $count) {
if ($count > count($nums) / 2) {
return $num;
}
}
return 0;
}Ставь 👍 и забирай 📚 Базу знаний