К задачам

Максимальная серия логинов (Gaps & Islands)

СложнаяSQL
Лучше работает на десктопе
Интервалы событийОконные функцииROW_NUMBERDATE

Дана таблица logins:

КолонкаТип
user_idINTEGER
login_dateTEXTДата логина (YYYY-MM-DD), уникальная для каждого user_id
Для каждого пользователя найдите максимальную серию подряд идущих дней (streak), в которые он заходил.

Верните user_id и max_streak. Отсортируйте по max_streak по убыванию, затем по user_id.

Пример: Если пользователь заходил 2024-01-01, 2024-01-02, 2024-01-03, 2024-01-05, 2024-01-06, то его максимальная серия = 3 (первые три дня).

💡 Это классическая задача "Gaps and Islands" — одна из самых частых на собесах уровня Hard.

Задача основана на вопросах с собеседований в Яндекс и Avito.

Код
Python · Ctrl/⌘ + Enter для запуска
Лимит
10:00
Консоль
Нажмите кнопку запуска или Ctrl+Enter
Максимальная серия логинов (Gaps & Islands) — SQL задача — ML Mentor