169 похожих чатов

Привет. Подскажите, как реализовать функционал по типу очереди заданий на

выполнение?

Симулятор лифта. Есть лифт и этажи. Если лифт свободен и не на этаже, то при нажатии кнопки этажа лифт едет к нему. Скорость езды — 1 этаж /секунда.
По прибытию на этаж лифт стоит 3 сек на месте, далее готов к отправке на другие этажи.

Когда лифт уже в движении на этаж, то при нажатии других кнопок они падают в очередь на выполнение.

(соответственно лифт сначала выполнит текущую задачу, подождёт 3 сек на этаже и поедет к новой).

Я реализовал это через массив задач, в который пушаться этажи, куда нужно ехать.

Сложность возникла, когда нужно удалить элемент по прибытию на этаж.
Обработкой занимается вотчер, который следить запушилась ли новая задача или нет.

Если есть только одна задача, лифт её выполнил и я удалил задачу с массива, то вотчер тригерит сам себя и говорит, что нет id у задачи (потому что массив пустой, нет элементов).

Есть ли какое-то более элегантное решение? Или надо как-то проверять, чтобы вотчер сам себя не тригерил

14 ответов

34 просмотра

это обязательно на вью делать?

Мне кажется, ты в мою контору тестовое делаешь :)

Очень советую сделать эту задачу с визуализацией.

Небольшая подсказка, у вас есть push, pop, shift, unshift.

Можно отслеживать не изменения массива, а изменения его длины. Тогда если длина уменьшилась — ничего не делаем.

А зачем вам вообще вотчет?

Winston Smith- Автор вопроса

Очень прикольная задачка, мне нравится. Как раз на джуна, без большого скоупа работы.

Winston Smith- Автор вопроса

☝🏻

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
50
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Народ, с прошедшими и наступающими. Ща полную ересь прогоню, но фишка в том, что это не обычная алкогольная ересь Либера, а я реально хз что делать. Сайт с 2012-го года Косяк...
Alexey Liber
2
Карта сайта