Перейти к содержимому

Yandex / Яндекс - 3

Актуальность: 1 кв 2026

Задача: Дан массив целых чисел nums. Необходимо найти длину самого длинного строго монотонного подмассива - либо строго возрастающего, либо строго убывающего. go/slices-arrays

Заголовок раздела «Задача: Дан массив целых чисел nums. Необходимо найти длину самого длинного строго монотонного подмассива - либо строго возрастающего, либо строго убывающего. go/slices-arrays»
Примеры:
Вход: nums = [6, 2, 3, 4, 5, 1, 7]
Выход: 4
Пояснение:\* Самый длинный строго возрастающий подмассив - `[2, 3, 4, 5]` (длина 4). Строго убывающие подмассивы здесь короче.
Вход: nums = [3, 3, 3, 3]
Выход: 1
Пояснение: Все элементы равны, поэтому любой подмассив длины 1 является строго монотонным (и возрастающим, и убывающим).
Вход: nums = [3, 2, 1]
Выход: 3
Пояснение: Весь массив `[3, 2, 1]` является строго убывающим

LeetCode 3105. Longest Strictly Increasing or Strictly Decreasing Subarray

Задача: Дана строка s, состоящая только из символов «a», «b» и «c». Необходимо найти количество подстрок, которые содержат все три уникальных символа («a», «b» и «c») хотя бы по одному разу. go/strings-runes

Заголовок раздела «Задача: Дана строка s, состоящая только из символов «a», «b» и «c». Необходимо найти количество подстрок, которые содержат все три уникальных символа («a», «b» и «c») хотя бы по одному разу. go/strings-runes»

Примеры: Вход: s = «aabc» Выход: 2 Пояснение: Подстроки, содержащие все три символа: "aabc" (весь массив) и, возможно, "abc" (индексы 1-3). Проверим: "aabc" (индексы 0-3) -> есть a, b, c. "abc" (индексы 1-3) -> есть a, b, c. Другие короче. Итого 2.

Вход: s = «aa» Выход: 0 Пояснение: Строка не содержит символов «b» и «c», поэтому ни одна подстрока не может содержать все три символа. Ответ должен быть 0. (В исходном условии ошибка: для «aa» правильный ответ 0, а не 2)

Вход: s = «abc» Выход: 1 Пояснение:* Только одна подстрока - сама строка "abc".

Вход: s = «abcabc» Выход: 10 Пояснение: Как в примере LeetCode, 10 подстрок содержат все три символа.

  • Для Задачи 1 ограничения малы (n <= 50 ), допустимо решение за O(n²), но оптимальный однопроходный алгоритм с отслеживанием длин текущих монотонных последовательностей работает за O(n); algorithms/complexity
  • Для Задачи 2 длина строки может достигать 5*10⁴, поэтому требуется решение эффективнее O(n²). Классический подход - метод скользящего окна (two pointers) или предвычисление следующих позиций символов; algorithms/sorting-search
  • В исходной формулировке Задачи 2 для "aa" был указан некорректный ответ 2. Правильный ответ - 0. algorithms/sorting-search

LeetCode 1358. Number of Substrings Containing All Three Characters