Войти Регистрация
Алгоритмы

66. Зеркальные пары

Средняя

Дан массив a с нумерацией с 1, длина n. Посчитайте пары 1 < i < j < n, для которых a[i] + a[j] = a[i − 1] + a[j + 1].

В коде массив с нулевой нумерацией: те же пары — 0 < i < j < n − 1.

В работе: Найти пары дней, в которые изменение цены «вошло» и «вышло» одинаково — для поиска зеркальных акций.

Пример 1

Ввод
a = [1, 3, 5, 7]
Вывод
1

Пара (2, 3): 3 + 5 = 1 + 7.

Пример 2

Ввод
a = [2, 5, 1, 4, 7]
Вывод
2

Ограничения

  • 1 ≤ длина a ≤ 2·10⁵
  • |a[i]| ≤ 10⁹
  • Лимит — 1 с на тест.
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def count_mirror_pairs(a):
Хеш-таблицаПреобразование условияцельO(n)

Источник: Ozon, отбор Route 256, 2024. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.