Код Senior Окна и сдвиги обновлено

Самая длинная серия дней подряд: diff и cumsum

Условие

Дан список дат активности пользователя days (строки YYYY-MM-DD, возможны повторы, порядок любой). Верните длину самой длинной серии подряд идущих календарных дней. Для пустого списка 0. Решите векторно, без цикла по датам.

Примеры

streaks(["2026-01-01", "2026-01-02", "2026-01-03", "2026-01-05"]) // 3
streaks([]) // 0
streaks(["2026-01-05"]) // 1

Как подойти

Подсказки: 2
  1. Новая серия начинается, где разница с предыдущей датой не равна 1 дню.
  2. Номер серии: cumsum булевой маски.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.