N

(Leet Code JS)Subarray Sum Equals K 본문

Leet Code 알고리즘

(Leet Code JS)Subarray Sum Equals K

naeunchan 2021. 11. 6. 14:28
728x90
반응형

560. Subarray Sum Equals K

 

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

 

Example 1:

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

Example 2:

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

 

Constraints:

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

 

const subarraySum = (nums, k) => {
    let answer = 0;
    let sum = 0;
    const map = new Map();
    
    map.set(0, 1);
    
    for(let i = 0; i < nums.length; i++){
        sum += nums[i];
        
        if(map.get(sum - k)){
            answer += map.get(sum - k);
        }
        
        map.set(sum, (map.get(sum) ?? 0) + 1);
    }
    
    return answer;
};

d

728x90
반응형