# 560. Subarray Sum Equals K

#### Medium

***

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

&#x20;

**Example 1:**

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

**Example 2:**

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

&#x20;

**Constraints:**

* `1 <= nums.length <= 2 * 104`
* `-1000 <= nums[i] <= 1000`
* `-107 <= k <= 107`

```python
class Solution:
    def subarraySum(self, nums: List[int], k: int) -> int:
        counter = collections.Counter()
        counter[0] = 1 # Simple denotion that sum == k
        count = 0
        s = 0
        for num in nums:
            s += num
            count += counter[s-k]
            counter[s] += 1
        return count
            
```
