Menu
CoddyTech

Majority Element

Дан массив целых чисел nums длины n. Одно значение встречается в нём более n / 2 раз и называется элементом большинства. Верните его. Значение, занимающее более половины массива, всегда уникально, поэтому ответ ровно один.

Функция

majorityElement(nums: integer-array) → integer
numsinteger-array
массив целых чисел, в котором одно значение занимает больше половины элементов
Возвращаетinteger
значение, которое встречается более чем в n / 2 случаях

Ограничения

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Одно значение встречается более чем nums.length / 2 раз.

Примеры

Ввод
nums = [3, 9, 3, 3, 4]
Вывод
3
Пояснение
3 встречается три раза среди пяти элементов. Три больше, чем 5 / 2 = 2.5, а 9 и 4 встречаются по одному разу.

lock icon+15 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Сможешь найти элемент большинства за время O(n), используя O(1) дополнительной памяти, не сортируя массив?

Сбросить код
def majorityElement(nums):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Ввод

nums = [3, 9, 3, 3, 4]

Ожидается

3