L234, №1141. User Activity for the Past 30 Days I / eetcode
В решении представлены два подхода: Базовый подход (dayOfYear): Разбираем строку на компоненты (год, месяц, день) Храним массив с количеством дней в каждом месяце Проверяем високосный год и корректируем февраль Считаем сумму дней в предыдущих месяцах Добавляем дни текущего месяца Альтернативный подход (dayOfYear_alternative): Использует встроенный модуль datetime Преобразует строку в объект datetime Вычисляет разницу с началом года Проще в реализации, но может быть медленнее Тесты проверяют различные случаи: Обычные дни в разных месяцах Последние дни года (високосного и не високосного) 29 февраля в високосном году Даты в вековых годах (1900 - не високосный, 2000 - високосный) Особенности и преимущества решения: Понятные комментарии и структура кода Два различных подхода к решению Подробное тестирование Обработка всех особых случаев (високосные годы и т.д.) Для практического использования оба метода подходят: Первый более понятен и не требует дополнительных модулей Второй короче и использует стандартную библиотеку
Название:
L234, №1141. User Activity for the Past 30 Days I / eetcode
Категория:
Разное