楼主:
Rushia (みけねこ的鼻屎)
2025-02-25 22:34:38https://leetcode.com/problems/number-of-sub-arrays-with-odd-sum
1524. Number of Sub-arrays With Odd Sum
给你一个阵列,求出共有几个子阵列和为奇数,因为数字很大所以要模10^9+7。
思路:
假设初始阵列为 [1] 我们加入一个数字5之后会产生 [1,5],[5]两个子阵列,再加入
一个数字7之后会产生 [1,5,7],[5,7],[7],我们可以发现就是在原先的阵列后面附加
一个数字,所以我们只要统计"当前所有的子阵列共有几个奇数和/偶数和"然后每次更
新的时候,透过当前的数是奇数还是偶数更新奇偶的数量:
(奇+奇=偶, 偶+奇=奇, 奇+奇=偶, 偶+偶=偶)
把过程中的奇数和子阵列数量相加即可。
java code: