Subarray Sum Equals K
Input:nums = [1,1,1], k = 2
Output: 2Basic Idea:
Python Code:
class Solution(object):
def subarraySum(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: int
"""
sums = [0] * (len(nums) + 1)
prev = collections.defaultdict(int)
prev[0] = 1
count = 0
for i in range(1, len(sums)):
sums[i] = sums[i - 1] + nums[i - 1]
count += prev[sums[i] - k]
prev[sums[i]] += 1
return count