Skip to content

Latest commit

 

History

History
30 lines (27 loc) · 759 Bytes

0560. Subarray Sum Equals K.md

File metadata and controls

30 lines (27 loc) · 759 Bytes
Screen Shot 2023-06-03 at 3 46 06 PM
/**
 * @param {number[]} nums
 * @param {number} k
 * @return {number}
 */
var subarraySum = function(nums, k) {
    let map = new Map();
    // We need to set 0 because 0 will be reached everytime since sum - k always becomes 0
    map.set(0, 1);
    let sum = 0;
    let count = 0;

    for(let num of nums) {
        sum += num;
        if(map.has(sum - k)) {
            count += map.get(sum - k);
        }
        if(map.has(sum)) {
            map.set(sum, map.get(sum) + 1);
        } else {
            map.set(sum, 1);
        }
    }
    return count;
};