Skip to content

Commit ec6a7d8

Browse files
committed
feat: 2845. Count of Interesting Subarrays, hash+前缀和
1 parent 3b6208a commit ec6a7d8

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} modulo
4+
* @param {number} k
5+
* @return {number}
6+
*/
7+
var countInterestingSubarrays = function(nums, m, k) {
8+
// mp[余数] = 出现的次数
9+
let n = nums.length, mp = {}, r = 0, ans = 0
10+
mp[0] = 1
11+
for (let i = 0; i < n; i++) {
12+
// console.log(nums[i] % m === k, (nums[i] % m) === k)
13+
r = (r + (nums[i] % m === k)) % m
14+
let target = (r-k+m)%m
15+
ans += mp[target] ?? 0
16+
// console.log(i, nums[i], r, mp[r], ans)
17+
mp[r] ??=0, mp[r]++
18+
}
19+
return ans
20+
};

0 commit comments

Comments
 (0)