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