leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0560.cpp (484B)


0 class Solution {
1 public:
2 int subarraySum(vector<int> &nums, int k) {
3 int n = nums.size(), res = 0, sum = 0;
4 unordered_map<int, int> um;
5 vector<int> prefix(n);
6 for (int i = 0; i < n; i++)
7 sum = prefix[i] = sum + nums[i];
9 for (int i = 0; i < n; i++) {
10 if (prefix[i] == k) res++;
11 if (um.count(prefix[i] - k)) res += um[prefix[i] - k];
12 um[prefix[i]]++;
13 }
15 return res;
16 }
17 };