**Problem Statement:**
Given an array of integers `nums` and an integer `k`, return the total number of subarrays whose sum equals to `k`. A subarray is a contiguous non-empty sequence of elements within an array.
**Hint / Expected Approach:**
Prefix sum + hash map
**Edge Cases to Consider:**
- (1) k = 0
- (2) Negative numbers
- (3) Single element equal to k