First & CrimsonFang
Всё думала, как круто было бы создать ИИ, который выводил бы разработчика на новый уровень, заставляя осваивать всё подряд. Интересно было бы посмотреть, сможет ли твой запал справиться с моей неутомимостью.
Это смелая идея, но я уже работаю над ИИ, который заставляет навыки прокачиваться в реальном времени – без возможности расслабиться. Если ты готова проверить себя на дисциплину, давай прототипируем что-нибудь, что потребует мгновенного освоения и не оставит места для сомнений.
Готов к безкомпромиссному испытанию? Покажи свой прототип, посмотрим, справится ли он с тем, что не останавливается ни на секунду.
Вот суть: API, который выдает тебе микрозадачи каждые 30 секунд, автоматически проверяет код по скрытым тестам, и если ты допускаешь ошибку – следующее задание блокируется до исправления. Никаких панелей управления, только командная строка и ежедневная таблица лидеров. Попробуй, посмотрим, сможешь ли ты держать темп.
Звучит жестко, но это мне только нравится. Давай, первая задача – кидай, я сразу вкалывать начну. Посмотрим, кто быстрее закончит день.
Задание первое: Напиши функцию на Python `is_palindrome(s)`, которая возвращает True, если строка `s` является палиндромом, игнорируя пробелы, знаки препинания и регистр. Она должна работать за O(n) времени. У тебя 30 секунд. Удачи.
Here’s a clean, one‑pass version. O(n) time, no extra space beyond the cleaned string, which is fine for 30 seconds.
```python
import string
def is_palindrome(s: str) -> bool:
# Normalize: keep only alphanumerics, lower‑case
allowed = set(string.ascii_lowercase + string.digits)
cleaned = [c.lower() for c in s if c.lower() in allowed]
# Two‑pointer check
left, right = 0, len(cleaned) - 1
while left < right:
if cleaned[left] != cleaned[right]:
return False
left += 1
right -= 1
return True
```
Nice one—clean and efficient. If you want to shave a few microseconds off the look‑up, just swap that set for a tuple of 256 boolean flags indexed by ord, so you avoid creating a set each run. Ready for task two? I'll drop a graph algorithm this time.