// 分隔线,乘法原理
// O(n)时间, O(1)空间
const numberOfGoodSubarraySplits = (nums: number[]): number => {
const n: number = nums.length, MOD: number = 1e9 + 7;
let ans: number = 1, pre: number = -1;
for (let i: number = 0; i < n; ++i) {
if (nums[i] === 0) continue;
if (pre >= 0) ans = ans * (i - pre) % MOD;
pre = i;
}
return pre === -1 ? 0 : ans;
};
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12