Ctrl K

Отрезки с ровным шагом

Средняя
Датчик записал показания в массив целых чисел readings. Назовём отрезок массива (несколько подряд идущих элементов) ровным, если в нём хотя бы три элемента и разность между любыми двумя соседними элементами одна и та же. Например, [1, 4, 7, 10], [6, 6, 6] и [9, 5, 1] — ровные отрезки, а [1, 2, 4] — нет. Верните, сколько ровных отрезков есть в readings. Отрезки, отличающиеся началом или концом, считаются разными.
Пример 1
readings=[2, 4, 6, 8] → 3

Подходят [2, 4, 6], [4, 6, 8] и весь массив [2, 4, 6, 8] — шаг везде равен 2.

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

[5, 5, 5] с шагом 0 и [5, 1, -3] с шагом −4. Отрезок [5, 5, 1] не подходит: шаги 0 и −4 разные.

Пример 3
readings=[7, 3] → 0

Отрезков длиной хотя бы 3 здесь нет.

Ограничения
  • 1 ≤ len(readings) ≤ 10⁵
  • -1000 ≤ readings[i] ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамая длинная серия единиц с одной правкой СредняяСамый длинный общий кусок СредняяПилообразные показания СредняяДва непересекающихся отрезка СредняяДва отрезка с нужной суммой Средняя
загружаем Python…
Вход
readings=[2, 4, 6, 8]
Ожидается
3

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