Здравствуйте, уважаемые участники. Помогите с расчетом временных промежутков. Имеется Входная таблица занятых промежутков работы смен с временем начала/окончания обеда и работы смен, нужно получить на ее основании выходную таблицу свободных промежутков. Пример на прилагаемой картинке
Прикрепленные файлы:
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(5) Стройте массив свободных кусков, изначально закинув туда по два промежутка в каждый день: до обеда и после.
Затем перебором занятых участков времени сверяете каждый из них с массивом и оставляете в массиве только обрезки незанятых. В итоге получите нужный результат.
Затем перебором занятых участков времени сверяете каждый из них с массивом и оставляете в массиве только обрезки незанятых. В итоге получите нужный результат.
(5) Слабак!
Да тут и пинать-то особо некуда. Если периоды в рамках группировки (смены) не пересекаются, то свободными промежутками будут промежутки между концом предыдущего периода и началом следующего в отсортированной таблице периодов.
Остается вопрос включения в периоды границ суток. Если переходящих периодов нет, тогда добрасываем "хвосты" начала суток и конца суток. В красивом алгоритме можно попробовать обойтись без явного "добрасывания".
(6) Странный выбор. Вытеснением явно же более сложное решение получается.
Да тут и пинать-то особо некуда. Если периоды в рамках группировки (смены) не пересекаются, то свободными промежутками будут промежутки между концом предыдущего периода и началом следующего в отсортированной таблице периодов.
Остается вопрос включения в периоды границ суток. Если переходящих периодов нет, тогда добрасываем "хвосты" начала суток и конца суток. В красивом алгоритме можно попробовать обойтись без явного "добрасывания".
(6) Странный выбор. Вытеснением явно же более сложное решение получается.
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот