同样是 O(n log n),为什么快排更快
快排和堆排都是 O(n log n),实测差两三倍。差在哪?
Скопируйте заготовку и выберите модель. Она будет вести себя как интервьюер и разбирать задачу с вами по действиям, а не выкладывать ответ.
На телефоне с установленным приложением система откроет само приложение. Внутри WeChat внешние приложения не открываются — сначала откройте ссылку в браузере.
В конце скопированного текста лежит разбор, по которому модель вас оценивает. Не читайте его заранее: ценно именно то, что вы дошли сами.
大 O 有意扔掉了常数和低阶项,而在真实机器上,被扔掉的那些经常就是全部的差别 —— 一次 L1 命中约 1ns,一次内存访问约 100ns,两个数量级。
这一份逼你算数:动态数组扩容为什么必须翻倍、建堆到底是 O(n) 还是 O(n log n)、1 秒时限下 n=10⁵ 排除了哪些复杂度。答「更快」一律要追「快多少」。
它是 04、05、10 那几份的地基,建议早做。
Что тренирует эта
Этот текст в репозитории (в конце того файла лежат карты на руках — вы их увидите)
Делали эту задачу?
Войдите, чтобы отметить, что задача пройдена: в следующий раз будет видно, когда это было.
Заметки тех, кто уже прошёл
Как этим пользоваться
Эта серия учит, а не допрашивает: она ведёт, а не давит, пока вам нечего станет сказать. Когда вы застряли, она сначала спрашивает, на каком уровне (не слышал / знаю, но не понимаю почему / понимаю, но не могу написать), и только потом решает, что дать. Прямой ответ она даёт лишь после двух попыток вас подвести — и затем просит пересказать своими словами.
С чего начать
- Выберите одну, откройте, скопируйте промпт.
- Вставьте в совершенно новый пустой диалог, ничего не говорите и ждите первого вопроса.
- Сначала разберите руками, потом пишите код — она вас остановит. Пройти массив длины 2 по шагам полезнее, чем десять раз написать шаблон.
Четыре команды, которые можно бросить в любой момент
跳过сразу к следующей сцене换个说法объяснить это место под другим углом直说吧дать полный ответ, а потом заставить меня пересказать复盘перейти к финалу и выдать карточку разбора
Три ловушки
- Не читайте ответы в конце заранее — раздел «как обычно ошибаются» и есть ответ на каждый вопрос.
- Не бросайтесь писать код. В алгоритмах именно написание кода лучше всего прячет то, что вы ещё не продумали.
- Когда начнёт вас хвалить, напомните про правило «не хвали меня». Вести — не значит нянчить.
Не придумывается решение — начните с определения состояния. Всё время путаете границы — бинарный поиск и префиксные суммы. Не узнаёте форму задачи — монотонный стек и скользящее окно. Карточка про сложность лежит в основе нескольких других: сделайте её пораньше.
Войти, чтобы написать заметку.