mirror of
https://github.com/prdlk/leetcode.git
synced 2026-09-16 23:16:26 +00:00
feat(problems): add medium array problem solutions for 3Sum, Two Sum II, and Subarray Sum Equals K
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
/*
|
||||
* 560. Subarray Sum Equals K
|
||||
* Difficulty: Medium
|
||||
* https://leetcode.com/problems/subarray-sum-equals-k/
|
||||
*
|
||||
* ──────────────────────────────────────────────────
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*
|
||||
*
|
||||
* 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 * 10^4
|
||||
*
|
||||
* • -1000 <= nums[i] <= 1000
|
||||
*
|
||||
* • -10^7 <= k <= 10^7
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {number[]} nums
|
||||
* @param {number} k
|
||||
* @return {number}
|
||||
*/
|
||||
var subarraySum = function(nums, k) {
|
||||
const map = new Map();
|
||||
map.set(0, 1);
|
||||
|
||||
let sum = 0;
|
||||
let count = 0;
|
||||
|
||||
for (let n of nums){
|
||||
sum += n;
|
||||
|
||||
if(map.has(sum - k)){
|
||||
count += map.get(sum - k);
|
||||
}
|
||||
|
||||
map.set(sum, (map.get(sum) || 0) + 1);
|
||||
}
|
||||
return count
|
||||
};
|
||||
Reference in New Issue
Block a user