遍历每个元素,计算每个元素出现的次数;
该元素左侧的元素个数和右侧的元素个数要么全为奇数,要么全为偶数,相乘,并累加,得到该元素出现次数。
class Solution {
public int sumOddLengthSubarrays(int[] arr) {
int len = arr.length;
int ans = 0;
for (int i = 0; i < len; i++) {
int l = i;
int r = len - 1 - i;
ans += ((l / 2 + 1) * (r / 2 + 1) + ((l + 1) / 2) * ((r + 1) / 2)) * arr[i];
}
return ans;
}
}

这篇文章介绍了一个名为Solution的类,其核心方法sumOddLengthSubarrays计算数组中每个元素出现的次数,条件是该元素两侧的元素个数奇偶性相同。通过遍历数组并利用奇偶性乘积公式实现这一计数任务。
858

被折叠的 条评论
为什么被折叠?



