Sum of All Odd Length Subarrays

Easy
33
3
32.3% Acceptance

In this lab, you are tasked with implementing a function that calculates the sum of all possible odd-length subarrays of a given array of positive integers. A subarray is defined as a contiguous subsequence of the given array.

The function signature is:

/** * @param {number[]} arr * @return {number} */ var sumOddLengthSubarrays = function(arr) { };

Examples

  1. Input: arr = [1,4,2,5,3]
    Output: 58
    Explanation: The odd-length subarrays of arr and their sums are: [1] = 1 [4] = 4 [2] = 2 [5] = 5 [3] = 3 [1,4,2] = 7 [4,2,5] = 11 [2,5,3] = 10 [1,4,2,5,3] = 15 If we add all these together we get 1+4+2+5+3+7+11+10+15=58

  2. Input: arr = [1,2]
    Output: 3
    Explanation: There are only 2 subarrays of odd length, [1] and [2]. Their sum is 3.

  3. Input: arr = [10,11,12]
    Output: 66

Constraints

  • 1 <= arr.length <= 100
  • 1 <= arr[i] <= 1000

Follow up

Can you solve this problem in O(n) time complexity?