Задание:
Реализовать метод для генерации номера проекта на Java, Kotlin или Scala
Сигнатура метода (java):
public static String generateNum(List<Integer> numbers)
На вход будет переданы сущетвующие номера в виде масива целых чисел.
Необходимо вернуть номер следующего проекта, по следующей логике:
Если текущие номера проекта не содержат пропусков, то необходимо вернуть максимальный элемент + 1.
Если пропуски есть, необходимо вернуть минимальный из них.
Пропуском называется разница между номерами больше или равная единицы (f(1,3) содержит пропуск, а f(1,2) нет).
Переданные номера проектов могут дублироваться, но сгенерированный методом номер не должен повторять существующий.
Номера проектов неотрицательные.
Пример:
f(1,2,3) = 4
f(1,3) = 2
f(2) = 1
Сгенерированный номер необходимо вернуть в формате трехразрядной строки, т.е.:
f(1) = "001"
f(10) = "010"
f(100) = "100"
В реализации приветствуется функциональный стиль.
Оцениваться будет качество кода и его корректность.
Решение необходимо залить в публичный репозиторий и предоставить ссылку.
Наталия
МПГУ
Огромное Вам спасибо, Елизавета! Вы меня очень выручили. Всё, как всегда, выполнено грамот...
Илья
СПБГАСУ
Замечательный исполнитель, сделал все быстро и качественно. Огромное спасибо Вам!
Ольга
МГМСУ
Марина -преподаватель с большой буквы ,супер , всегда выполняет досрочно и без замечаний ...
Юлия
РОСИ
Огромное спасибо за работу! Всё выполнено в срок, учтены все пожелания. После проверки пре...