Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum equals to k.
Example 1:
- Input:nums = [1,1,1], k = 2
- Output: 2
Note:
- The length of the array is in range [1, 20,000].
- The range of numbers in the array is [-1000, 1000] and the range of the integer k is [-1e7, 1e7].
Python Solution:
class Solution(object):
def subarraySum(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: int
"""
d = {0: 1}
sum = 0
res = 0
for num in nums:
sum += num
res += d.get(sum - k, 0)
d[sum] = d.get(sum, 0) + 1
return res
Summary:
- pre sum
LeetCode: 560. Subarray Sum Equals K
近期评论