Треки
/
Ballerina
Ballerina
/
Вправи
/
Моніторинг сплеску
Моніторинг сплеску

Моніторинг сплеску

Середня

Вказівки

Ми працюємо в компанії з розробки програмного забезпечення ABC Corp, у якій 97 співробітників. Однак у щойно орендованому офісі є лише 65 кабінок. Кожен співробітник хоче працювати в новому офісі, бо в кожній кабінці стоять найсучасніші монітори. Відділ кадрів був завалений такими запитами й за допомогою своєї команди цифрових операцій придумав систему розподілу кабінок.

Кожній кабінці присвоїли номер від 1 до 65. Співробітники, які хочуть працювати в новому офісі, мають надіслати запит на кабінку до 7:30 ранку кожного робочого дня. Один співробітник може надіслати лише один запит. Кожен такий запит може містити лише один номер кабінки.

Постановка задачі

Для кожного запиту на кабінку відділ кадрів виконує такі дії:

  • Якщо запитана кабінка вільна, закріпити її за тим, хто надіслав запит.
  • Якщо запитана кабінка вже закріплена, відхилити запит.

Ми відповідаємо за автоматизацію цього процесу розподілу як члени команди цифрових операцій. На вхід надходить int[] з усіма запитами співробітників, надісланими до 7:30 ранку. Кожен елемент масиву позначає номер кабінки. Наше завдання: повернути int[] із номерами розподілених кабінок і відсортувати ці номери за зростанням.

Обмеження

  • 0 <= розмір вхідного масиву <= 97
  • Кожен елемент вхідного масиву лежить у межах від 1 до 65 включно

Приклад 1

  • Вхід: 65 1 56
  • Вихід: 1 56 65

Приклад 2

  • Вхід: 5 6 18 56 18 8 1
  • Вихід: 1 5 6 8 18 56
  • Пояснення: є два запити на кабінку номер 18
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Ballerina Exercism

Час розпочати Моніторинг сплеску?

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