Треки
/
Unison
Unison
/
Вправи
/
Елемент більшості
Елемент більшості

Елемент більшості

Середня

Вказівки

Наше завдання - зʼясувати, чи є в пакеті цукерок колір, який становить більшість вмісту пакета. 🍬 Елемент більшості - це той, який займає понад половину місця в колекції. Маючи масив елементів, що позначають кольори, повертаємо колір, який становить більшість, інакше вказуємо, що більшості не знайдено.

Для простого масиву [Red, Red, Blue, Red, Green] поверненим значенням має бути Red, бо Red трапляється 3 рази з 5. Але для масиву [Red, Red, Blue, Green] більшості немає, хоч Red і найчастіший елемент, бо 2/4 не більше за половину елементів.

Реалізація

  • Бонусні бали: чи можна узагальнити реалізацію, щоб знайти мажоритарний елемент у List будь-якого типу?
  • Бонусні бали: чи буде реалізація ефективною, якщо під час пошуку мажоритарного елемента є багато різних елементів, з яких можна вибирати?
  • Хоча функцію majorityFinder можна реалізувати будь-яким способом, ми надали кілька заглушок, які використовують здатність MyStore. (Здатність MyStore така сама, як Store зі стандартної бібліотеки, але тут ми дали їй трохи іншу назву для усунення неоднозначності.) Потрібно буде реалізувати обробник runWith, якщо вирішено використати цю здатність. runWith повертає як результат виконання функції, яка використовує здатність MyStore, так і кінцевий стан MyStore.
  • Докладніше про те, як обробники здатностей можуть відстежувати стан, можна прочитати в документації про обробники здатностей.
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Unison Exercism

Час розпочати Елемент більшості?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Unison, а також 53 вправи та справжнє наставництво від людей, і все це безкоштовно.