Ctrl K

Низ, пик и середина

Средняя
Дан массив целых чисел values. Ищем в нём три элемента — не обязательно стоящих рядом, но идущих в таком порядке: values[i], values[j], values[k] при i < j < k, — для которых выполняется values[i] < values[k] < values[j]. То есть сначала идёт меньшее число, потом самое большое из трёх, а последнее оказывается строго между ними. Верните True, если такая тройка есть, и False иначе.
Пример 1
values=[6, 2, 9, 5] → True

Подходят 2, 9, 5: сначала маленькое, потом самое большое, а последнее — между ними.

Пример 2
values=[9, 7, 4, 4, 1] → False

Значения только убывают: после любого числа нет ничего большего, так что «пика» не получится.

Пример 3
values=[3, 8, 3, 10] → False

Тройка 3, 8, 3 не подходит: третье число должно быть строго больше первого. Других кандидатов тоже нет.

Ограничения
  • 1 ≤ len(values) ≤ 2 · 10⁵
  • -10⁹ ≤ values[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВырезать кусок ради порядка СредняяЛягушка на столбиках СложнаяШирокий отрезок забора вокруг метки СложнаяВторое большее справа СложнаяЛучшая пара выше планок Сложная
загружаем Python…
Вход
values=[6, 2, 9, 5]
Ожидается
True

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 146 тестов на сервере, включая скрытые.