Rutas
/
Unison
Unison
/
Ejercicios
/
Elemento mayoritario
Elemento mayoritario

Elemento mayoritario

Media

Instrucciones

Tu tarea consiste en identificar si hay algún color de caramelo en una bolsa que represente la mayor parte de la bolsa. 🍬 El elemento mayoritario es el que ocupa más de la mitad del espacio de una colección. Dado un array de elementos que representan los colores, devuelve el color que se encuentre como mayoritario; de lo contrario, indica que no se ha encontrado ninguna mayoría.

Para un array simple, [Red, Red, Blue, Red, Green], el valor devuelto debería ser Red porque Red aparece 3 veces de un array de 5. Pero para un array [Red, Red, Blue, Green], no hay mayoría a pesar de que Red es el elemento más común, porque 2/4 no es mayor que la mitad de los elementos.

Implementación

  • Puntos extra: ¿puedes generalizar tu implementación para encontrar el elemento mayoritario de cualquier tipo de List?
  • Puntos extra: ¿es eficiente tu implementación si hay muchos elementos diferentes entre los que elegir al buscar la mayoría?
  • Aunque puedes implementar la función majorityFinder como quieras, te hemos proporcionado algunos esbozos que usan la ability MyStore. (La ability MyStore es la misma que Store de la biblioteca estándar, pero aquí le hemos dado un nombre ligeramente distinto para desambiguar.) Tendrás que implementar el manejador runWith si decides usar esta ability. runWith devuelve tanto el resultado de ejecutar la función que usa la ability MyStore como el estado final de MyStore.
  • Puedes leer más sobre cómo los manejadores de abilities pueden hacer un seguimiento del estado en la documentación sobre manejadores de abilities.
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Unison Exercism

¿Listo para empezar Elemento mayoritario?

Regístrate en Exercism para aprender y dominar Unison con 53 ejercicios y mentoría humana real, todo gratis.