第14天(中等题 滑动窗口、哈希表)

第14天(中等题 滑动窗口、哈希表)

打卡第十四天
2道中等题

image
题目:
给你一个二元数组 nums ,和一个整数 goal ,请你统计并返回有多少个和为 goal 的 非空 子数组。
子数组 是数组的一段连续部分。
思路:
image
代码:

class Solution {
public:int numSubarraysWithSum(vector<int>& nums, int goal) {int sum = 0;unordered_map<int, int> cnt;int ans = 0;for (int num : nums) {//遍历数组元素cnt[sum]++;sum += num;//更新前缀和ans += cnt[sum - goal];}return ans;}
};

耗时≈半小时 明天继续