Menu
CoddyTech

Majority Element

FácilHashingpython iconjava iconcpp iconc iconjs icon+10

Recibes un arreglo de enteros nums de longitud n. Un valor aparece en él más de n / 2 veces, y ese valor se llama elemento mayoritario. Devuélvelo. Un valor que ocupa más de la mitad del arreglo siempre es único, así que hay exactamente una respuesta.

Función

majorityElement(nums: integer-array) → integer
numsinteger-array
el arreglo de enteros, con un valor que ocupa más de la mitad
Devuelveinteger
el valor que aparece más de n / 2 veces

Restricciones

  • 1 ≤ nums.length ≤ 104
  • -109 ≤ nums[i] ≤ 109
  • Un valor aparece más de nums.length / 2 veces.

Ejemplos

Entrada
nums = [3, 9, 3, 3, 4]
Salida
3
Explicación
3 aparece tres veces en cinco elementos. Tres es más que 5 / 2 = 2.5, y 9 y 4 aparecen una vez cada uno.
challenge icon

Para ir más allá

¿Puedes encontrar todos los valores que aparecen más de n / 3 veces, en tiempo O(n) y con memoria adicional O(1)?

Restablecer código
def majorityElement(nums):
    # Escribe el código aquí

Prueba #1

Prueba #2

Argumento

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

Salida Esperada

3