← К задачамОткрыть курс →
Число подотрезков с суммой S
Дан список целых чисел arr (числа могут быть отрицательными) и целое число s.
Реализуйте функцию count_subarrays_with_sum(arr, s), которая возвращает количество непустых подряд идущих подотрезков, сумма которых равна s. Решение должно работать за O(n) с помощью префиксных сумм и словаря.
Формат входа: arr — список целых чисел (возможно пустой), s — целевая сумма.
Формат выхода: целое число — количество подотрезков.
Примеры:
count_subarrays_with_sum([1, 1, 1], 2) -> 2
count_subarrays_with_sum([1, -1, 1, -1], 0) -> 4
count_subarrays_with_sum([], 0) -> 0
📖 Теория по теме:Префиксные суммы и разности
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
def count_subarrays_with_sum(arr, s):
# ваш код
pass
Здесь появится результат. Напиши решение слева и нажми «Проверить код».
Для запуска тестов необходима авторизация.