Contador de Python | Elemento mayoritario

Elemento mayoritario: un elemento mayoritario en una array A[] de tamaño n es un elemento que aparece más de n/2 veces (y, por lo tanto, hay como máximo uno de esos elementos).

Escriba una función que tome una array y emita el elemento mayoritario (si existe); de lo contrario, imprima NINGUNO de la siguiente manera:

Ejemplos:

Input : 3 3 4 2 4 4 2 4 4
Output : 4 

Input : 3 3 4 2 4 4 2 4
Output : NONE

Tenemos una solución existente para este problema, consulte el enlace Elemento mayoritario . Podemos resolver este problema rápidamente en Python usando la función Counter (iterable) . El enfoque es simple,

  1. Convierte una lista dada de elementos en un diccionario usando el método Counter() , teniendo elementos como claves y sus frecuencias como valor.
  2. Ahora recorra el diccionario completo y verifique el elemento cuya frecuencia sigue la condición mayor que (n/2) donde n es el tamaño de la lista. Ese elemento será el elemento mayoritario.
# Function to find majority element
from collections import Counter
  
def majority(arr):
  
    # convert array into dictionary
    freqDict = Counter(arr)
  
    # traverse dictionary and check majority element
    size = len(arr)
    for (key,val) in freqDict.items():
         if (val > (size/2)):
             print(key)
             return
    print('None')
  
# Driver program
if __name__ == "__main__":
    arr = [3,3,4,2,4,4,2,4,4] 
    majority(arr)

Producción:

4

Publicación traducida automáticamente

Artículo escrito por Shashank Mishra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *