Sum of All Odd Length Subarrays

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?

Adding your container request
Getting your dedicated container
Connecting to your container
Setting up your editor
Finalizing your playground
TerminalEditorBrowser