← К задачам
Число подотрезков с суммой 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
def count_subarrays_with_sum(arr, s):
# ваш код
pass
Для запуска тестов необходима авторизация.