Ctrl K

Повторная сумма соседей

Лёгкая
Датчик записал показания в массив readings. Сложите каждые два соседних показания: readings[0] + readings[1], readings[1] + readings[2] и так далее. Верните True, если среди этих сумм хотя бы одна встречается дважды, то есть найдутся две пары соседей, которые начинаются в разных позициях и дают одинаковую сумму. Пары могут перекрываться. Иначе верните False.
Пример 1
readings=[3, 7, 1, 9] → True

Соседние пары дают суммы 10, 8 и 10: пары (3, 7) и (1, 9) стоят в разных местах, а сумма одна.

Пример 2
readings=[2, 4, 6, 8] → False

Суммы 6, 10 и 14 — все разные.

Пример 3
readings=[-5, 5, -5] → True

Пары (-5, 5) и (5, -5) перекрываются, но начинаются в разных позициях, и обе дают 0.

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

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