560. Subarray Sum Equals K

Source code notebook Author Update time

Given an array of integers nums and an integer k, return the total number of continuous subarrays whose sum equals tok.

Example 1:

Input: nums = [1,1,1], k = 2
Output: 2

Example 2:

Input: nums = [1,2,3], k = 3
Output: 2

Constraints:

  • 1 <= nums.length <= 2 * 104
  • -1000 <= nums[i] <= 1000
  • -107 <= k <= 107
# @lc code=start
using LeetCode

function subarray_sum(nums::Vector{Int}, k::Int)
    mp = DefaultDict(0, 0 => 1)
    res, pre_sum = 0, 0
    for num in nums
        pre_sum += num
        res += mp[pre_sum - k]
        mp[pre_sum] += 1
    end
    res
end
# @lc code=end
subarray_sum (generic function with 1 method)

This page was generated using DemoCards.jl and Literate.jl.