Количество подмассивов с суммой K

MediumAlgo
05:00
Лучше работает на десктопе
Prefix SumHash MapArrays

Дан массив целых чисел nums и число k. Верните количество непрерывных подмассивов, сумма которых равна k.

Сигнатура

def subarray_sum(nums: list[int], k: int) -> int:

Примеры

subarray_sum([1, 1, 1], 2) → 2      # [1,1] с позиции 0 и [1,1] с позиции 1
subarray_sum([1, 2, 3], 3) → 2      # [1,2] и [3]
subarray_sum([1, -1, 0], 0) → 3     # [1,-1], [-1,0], [1,-1,0]

Constraints

- 1 ≤ len(nums) ≤ 2 × 10⁴
- -1000 ≤ nums[i] ≤ 1000
- -10⁷ ≤ k ≤ 10⁷

Примеры

Пример 1

Вход:
nums = [1,1,1]
k = 2
Выход:2

Пример 2

Вход:
nums = [1,2,3]
k = 3
Выход:2

Пример 3

Вход:
nums = [1,-1,0]
k = 0
Выход:3
Консоль
Нажмите Run или Ctrl+Enter для запуска