Я имею дело с алгоритмом в проекте, где мне нужно пересечь диапазон дат (отсортированный), и мне нужно проверить, соответствуют ли даты определенному шаблону. Вот список всех возможных шаблонов для обнаружения:
- Нет (шаблон не обнаружен. Просто случайная группа дат)
- 4 понедельника подряд
- 4 вторника подряд
- 4 среды подряд
- 4 четверга или более подряд
- 4 пятницы или более подряд
- 4 субботы или более подряд
- 4 воскресенья или больше подряд
- пн, вт, ср и чт вместе
- вт, ср, чт и пт вместе
- Ср, Чт, Пт и Сб вместе
- Чт, Пт, Сб и Солнце вместе
- Каждый второй понедельник
- Каждый вторник
- Каждую среду
- Каждый четверг
- Каждую пятницу
- Каждую субботу
- Каждое воскресенье
Все эти шаблоны могут быть представлены через Enum. Мне нужно определить с помощью функции шаблон, которому соответствует данный диапазон дат.
Теперь к каждому шаблону также прикреплено условие. Например:
4 понедельника подряд требует, чтобы в коллекции дат было как минимум 4 даты, а если их больше четырех, общее число дат должно быть истинным, как -> количество дат MOD 4 == 0
Пн, Вт, Ср и Чт вместе требует, чтобы при сборе дат было как минимум 4 даты без пробелов, а если их больше четырех, общее число дат должно быть истинным, как -> количество дат MOD 4 == 0
Любая помощь будет оценена. Привет.