---
title: "Как решать алгоритмические задачи на собеседовании: сначала условие"
url: https://algopath.pro/ru/blog/kak-reshat-algoritmicheskie-zadachi-na-sobesedovanii
language: ru
summary: "Прочитай условие дважды, прежде чем что-то писать. Одно условие, разобранное по словам, и что каждое слово отсекает."
updated: 2026-09-09
---

# Как решать алгоритмические задачи на собеседовании: сначала условие

Прочитай условие дважды, прежде чем что-то писать. Первый раз ты понимаешь, что спрашивают. Второй раз ты видишь, какие слова здесь ограничения.

 

Второй проход обычно пропускают. И решают задачу, которую никто не ставил.

 

Разберём одно условие.

 

## Условие

 

> Дан массив целых чисел и число k. Верни длину самого длинного подмассива, сумма которого не больше k. В массиве могут быть отрицательные числа. 1 ≤ n ≤ 200000.

 

Двадцать восемь слов. Шесть из них решают, какой будет алгоритм.

 

## «подмассив»

 

Подмассив идёт подряд. [Подпоследовательность](https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C) нет.

 

Одно слово, и половина вариантов отпала. Подряд означает [окно](/ru/patterns/sliding-window-variable) или [префиксные суммы](/ru/patterns/prefix-sums). Не подряд означает сортировку или динамику.

 

Слово «подряд» читают неправильно чаще всего. Оно самое дорогое на странице.

 

## «длину»

 

Ты возвращаешь число. Значит сам подмассив хранить не нужно.

 

Нужен максимум. Одна переменная с лучшим значением. Одно сравнение.

 

Вся бухгалтерия.

 

## «не больше k»

 

Не больше, а не ровно.

 

Ровно k тянуло бы к словарю префиксных сумм.

 

Не больше k это диапазон. Тут помогает порядок. Словарь бесполезен.

 

Ровно k это как раз случай для [префиксных сумм](https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D1%84%D0%B8%D0%BA%D1%81%D0%BD%D0%B0%D1%8F_%D1%81%D1%83%D0%BC%D0%BC%D0%B0) в словаре.

 

Разница в одном слове. Структуры данных разные.

 

## «могут быть отрицательные»

 

Вот ловушка.

 

Если чисел меньше нуля нет, расширение окна всегда увеличивает сумму. Именно это делает два указателя законными.

 

Отрицательные ломают правило. Сумма перестаёт двигаться в одну сторону.

 

Значит сужение окна может её поднять.

 

Два указателя стали неверными. Верны префиксные суммы плюс упорядоченная структура.

 

Одна фраза превратила решение на 5 строк в решение на 20.

 

Фраза всё это время была в условии.

 

## «1 ≤ n ≤ 200000»

 

200 тысяч отсекают всё квадратичное. Это 40 миллиардов операций.

 

Справочник по тому, что разрешает каждая граница: [временная сложность](https://ru.wikipedia.org/wiki/%D0%92%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%BB%D0%BE%D0%B6%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D0%B0).

 

n log n проходит спокойно. Сортировка по карману. Бинарный поиск внутри цикла тоже.

 

Граница на n прямо говорит, какую сложность ждёт интервьюер. Читай её как инструкцию.

 

## Шесть строк до кода

 

- Что на входе и что на выходе.
- Размер входа.
- Подряд или нет.
- Отсортировано или нет.
- Края: пусто, один элемент, все отрицательные.
- Какой это паттерн. И какое слово тебя к нему привело.

 

Последняя строка главная.

 

Не можешь назвать слово, значит угадал. Угаданный ответ не учит ничему.

 

## Две минуты, а не тридцать секунд

 

В интервью на 45 минут две минуты на чтение кажутся роскошью.

 

Две минуты на чтение стоят дешевле всего в интервью.

 

Неправильно прочитанное условие стоит всей сессии. Узнаешь ты на тридцатой минуте. На доске уже чужой ответ.

 

Быстрое чтение никто не оценивает.

 

Остальная рутина вокруг этого в статье [как готовиться правильно](/ru/blog/kak-podgotovitsya-k-algoritmicheskomu-sobesedovaniyu).

 

## Где это тренируется

 

В [AlgoPath](/ru) каждый шаг начинается с сигналов. Это слова в задаче, которые указывают на паттерн.

 

[Назвать паттерн](/ru/blog/patterny-algoritmov) надо до кода.

 

В тренажёре распознавания задача приходит без метки. Сначала называешь паттерн и обосновываешь.

 

Первые 33 шага бесплатные.
