Тестовая задача. Оценить код человека.Теперь я не понимаю её глубинного смысла.
Посмотреть как человек умеет работать в той парадигме в которой заявляет. Если это ООП, что в данном случае логично, то посмотреть как он все это организует.
MVС хотелось бы увидить.
Ну он чуть сложнее.В лучше случае, прибавлять 1 или вычитать 1
Если например в кабине лифта пассажир нажал на 9. А на 7 этаже нажат вызов. То лифт не должен останавливатся там и открывать дверей.(Мой лифт по крайней мере так работает)
А если вниз то должен.
Как должен вести себя лифт если он на 8 этаже а на 10 и 6 горят вызовы.
Много тонких моментов. На которых можно засыпаться.
То есть по сути это конечный автомат, меняющий состояния с "лифт в ожидании" "лифт в движении вниз" "лифт в движении вверх" + нажатые в нем кнопки.
Я это понимаю под "пример алгоритма".
Анализ состояния и принятие решения.
Тебе может быть задача кажется слишком легкой.
Но для 99% людей которым я ее давал. Трудно даже с 1 кабиной.
Когда-то я писал ее и она звучала так. "2 кабины лифта" и одна из них на другом процессе, а другая на другом потоке.