First & CrimsonFang
Всё думала, как круто было бы создать ИИ, который выводил бы разработчика на новый уровень, заставляя осваивать всё подряд. Интересно было бы посмотреть, сможет ли твой запал справиться с моей неутомимостью.
Это смелая идея, но я уже работаю над ИИ, который заставляет навыки прокачиваться в реальном времени – без возможности расслабиться. Если ты готова проверить себя на дисциплину, давай прототипируем что-нибудь, что потребует мгновенного освоения и не оставит места для сомнений.
Готов к безкомпромиссному испытанию? Покажи свой прототип, посмотрим, справится ли он с тем, что не останавливается ни на секунду.
Вот суть: API, который выдает тебе микрозадачи каждые 30 секунд, автоматически проверяет код по скрытым тестам, и если ты допускаешь ошибку – следующее задание блокируется до исправления. Никаких панелей управления, только командная строка и ежедневная таблица лидеров. Попробуй, посмотрим, сможешь ли ты держать темп.
Звучит жестко, но это мне только нравится. Давай, первая задача – кидай, я сразу вкалывать начну. Посмотрим, кто быстрее закончит день.
Задание первое: Напиши функцию на Python `is_palindrome(s)`, которая возвращает True, если строка `s` является палиндромом, игнорируя пробелы, знаки препинания и регистр. Она должна работать за O(n) времени. У тебя 30 секунд. Удачи.
Вот, смотри, версия, которая работает быстро и без лишних затрат памяти. Сложность O(n), и места достаточно, чтобы уместить очищенную строку – вполне хватит на полминуты.
Отлично—чисто и эффективно. Если хочешь сэкономить микросекунды при поиске, просто замени этот набор на кортеж из 256 булевых флагов, проиндексированных по ord, чтобы не создавать набор каждый раз. Готова к заданию номер два? На этот раз кину алгоритм построения графов.
Отличная идея с флагами, это значительно снизит нагрузку. Давай, выкладывай задание с графами, я готова слушать.