Ctrl K

Поиск ценового шаблона

Средняя
В массиве prices записана цена акции по дням. Аналитик описывает интересующую его динамику массивом trend из чисел -1, 0 и 1: 1 — на следующий день цена выросла, 0 — не изменилась, -1 — упала. Отрезок из len(trend) + 1 подряд идущих дней подходит под шаблон, если для каждого j переход от его j-го дня к следующему ведёт себя так, как говорит trend[j]. Верните количество подходящих отрезков. Отрезки могут пересекаться.
Пример 1
prices=[5, 7, 7, 3, 4, 4, 2], trend=[1, 0, -1] → 2

Шаблон «вверх, без изменений, вниз» подходит отрезкам [5, 7, 7, 3] и [3, 4, 4, 2].

Пример 2
prices=[9, 8, 7, 6], trend=[-1, -1] → 2

Два дня падения подряд: [9, 8, 7] и [8, 7, 6] — отрезки могут пересекаться.

Пример 3
prices=[1, 2, 1, 2], trend=[0] → 0
Ограничения
  • 2 ≤ len(prices) ≤ 100
  • 1 ≤ prices[i] ≤ 10⁹
  • 1 ≤ len(trend) < len(prices)
  • trend[j] — одно из чисел -1, 0, 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЦель из начал слов СредняяПоиск ценового шаблона в длинной истории СложнаяСлова-обложки ЛёгкаяСлова-рамки СложнаяФраза из начал слов: длинная версия Сложная
загружаем Python…
Вход
prices=[5, 7, 7, 3, 4, 4, 2], trend=[1, 0, -1]
Ожидается
2

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