Subarray Sum Equals K - Array - Medium - LeetCode
💻 coding

Subarray Sum Equals K - Array - Medium - LeetCode

1 min read 117 words
1 min read
ShareWhatsAppPost on X
  • 1The problem requires counting continuous subarrays that sum to a given integer k.
  • 2The solution utilizes a hashmap to track cumulative sums and their frequencies.
  • 3The algorithm operates with a time complexity of O(n) and space complexity of O(n).

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The problem requires counting continuous subarrays that sum to a given integer k."

Subarray Sum Equals K - Array - Medium - LeetCode

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

public class Solution {
 public int SubarraySum(int[] nums, int k) {
 var map = new Dictionary<int,int>();
 map.Add(0,1);
 int sum = 0;
 int res = 0;
 for(int i=0;i<nums.Length;i++){
 sum += nums[i];
 int count = 0;
 map.TryGetValue(sum-k, out count);
 res+=count;
 
 int val=0;
 map.TryGetValue(sum, out val);
 map[sum]=val+1;
 }
 
 return res;
 }
}

Time Complexity: O(n)

Space Complexity: O(n)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 21 November 2020 · 1 min read · 117 words

Part of AskGif Blog · coding

You might also like