给你一个正整数数组 arr ,请你计算所有可能的奇数长度子数组的和。
子数组定义为原数组中的一个连续子序列。请你返回 arr 中 所有奇数长度子数组的和 。
示例 1:
输入:arr = [1,4,2,5,3]
输出:58
解释:所有奇数长度子数组和它们的和为:
长度为1的子数组有[1],[4],[2],[5],[3] ,相加结果为15
长度为3的子数组有[1,4,2],[4,2,5],[2,5,3],相加的结果为7+11+10=28
长度为5的子数组有[1,4,2,5,3] ,相加的结果为15
我们将所有值求和得到 15+28+15 = 58
示例 2:
输入:arr = [1,2]
输出:3
解释:只有 2 个长度为1的子数组,[1] 和 [2]。它们的和为 3 。
算法1:按照题目的要求遍历相加即可
int sumOddLengthSubarrays(int* arr, int arrSize) //效率较低
{
int sum = 0;
for(int i=