vibe-learning — как изучать алгоритмы, тренироваться на leetcode и вообще.
Сейчас, если есть желание разобраться, LLM вполне может заменить ментора, в том числе в тренировке решения задач на leetcode и других подобных сайтах. Я реально счастлив, что можно бесконечно мучить LLM, задавать разной тупости вопросы, просить объяснить — для самообразования почти идеально. Но, конечно же есть «но» — за вас оно думать не будет, цель — понять и запомнить, сформировать нужное мышление. Для запоминания, в случае с leetcode‑like задачами, можно применить активное вспоминание(1, 2) — это не когда повторяешь бездумно читая тоже самое или заучиваешь как стих, а при повторении пытаешься вспоминать + разбор задачи без кода. Алгоритм примерно такой:
Сложная задача? Копируем условие в LLM и просим объяснить условие без кода.
Если всё ещё не понятно — просим объяснить алгоритм словами, без кода.
Если всё ещё не понятно — просим дать подсказку.
... — просим показать упрощённое решение.
... — просим показать полное эффективное по временной сложности решение.
Смотрим, разбираем алгоритм по шагам, смотрим в дебагере в IDE, etc.
Когда стало понятно — закрываем окно чата с LLM, уходим налить себе чай и повторяем решение уже в окне leetcode без подсказок.
Это лучше делать с однотипными задачами — решить несколько подряд для закрепления. Задачи можно искать по топикам, например Метод скользящего окна и другие, постепенно LLM станет не нужна.
Думаю, подобная «техника» применима к изучение любых вещей, главное — обратная связь, возможность самопроверки. Как это сделать, например, при чтении книг? Книги обычно разделены по темам и есть вопросы для самопроверки — это можно загрузить в LLM и попросить провести тестирование по этой теме или найти готовые онлайн тесты. Думаю и сам процесс этой возни тоже может быть полезен.
А вы как изучаете алгоритмы и другие сложные темы?