Track
/
Unison
Unison
/
Esercizi
/
Elemento maggioritario
Elemento maggioritario

Elemento maggioritario

Medio

Istruzioni

Il tuo compito è identificare se in un sacchetto c'è un colore delle caramelle che ne costituisce la maggioranza. 🍬 L'elemento maggioritario è quello che occupa più della metà dello spazio in una collezione. Dato un array di elementi che rappresentano i colori, restituisci il colore che risulta maggioritario, altrimenti indica che non è stata trovata alcuna maggioranza.

Per un semplice array, [Red, Red, Blue, Red, Green], il valore restituito dovrebbe essere Red perché Red compare 3 volte su un array di 5. Ma per un array [Red, Red, Blue, Green], non c'è una maggioranza, anche se Red è l'elemento più comune, perché 2/4 non è maggiore della metà degli elementi.

Implementazione

  • Punti bonus: riesci a generalizzare l'implementazione per trovare l'elemento maggioritario di qualsiasi tipo di List?
  • Punti bonus: l'implementazione è performante se ci sono molti elementi diversi tra cui scegliere quando si trova l'elemento maggioritario?
  • Anche se puoi implementare la funzione majorityFinder nel modo che preferisci, abbiamo fornito alcuni stub che usano l'abilità MyStore. (L'abilità MyStore è la stessa di Store della libreria standard, ma qui le abbiamo dato un nome leggermente diverso per disambiguare.) Dovrai implementare il gestore runWith se scegli di usare questa abilità. runWith restituisce sia il risultato dell'esecuzione della funzione che usa l'abilità MyStore sia lo stato finale di MyStore.
  • Puoi leggere di più su come i gestori di abilità possono tenere traccia dello stato nella documentazione sui gestori di abilità.
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Unison Exercism

Vuoi iniziare Elemento maggioritario?

Iscriviti a Exercism per imparare e padroneggiare Unison con 53 esercizi e il mentoring di persone reali, tutto gratis.