Talentd
FleetCode

3427. Sum of Variable Length Subarrays

Easy85.6% acceptance2 companies

You are given an integer array nums of size n. For each index i where 0 <= i < n, define a subarray nums[start ... i] where start = max(0, i - nums[i]).

Return the total sum of all elements from the subarray defined for each index in the array.

Example 1:

Input: nums = [2,3,1]

Output: 11

Explanation:

i Subarray Sum
0 nums[0] = [2] 2
1 nums[0 ... 1] = [2, 3] 5
2 nums[1 ... 2] = [3, 1] 4
Total Sum   11

The total sum is 11. Hence, 11 is the output.

Example 2:

Input: nums = [3,1,1,2]

Output: 13

Explanation:

i Subarray Sum
0 nums[0] = [3] 3
1 nums[0 ... 1] = [3, 1] 4
2 nums[1 ... 2] = [1, 1] 2
3 nums[1 ... 3] = [1, 1, 2] 4
Total Sum   13

The total sum is 13. Hence, 13 is the output.

Constraints:

  • 1 <= n == nums.length <= 100
  • 1 <= nums[i] <= 1000

Asked at 2 companies

Hints open one at a time

Hint 1
The constraints are small, so brute force for each index.
10:00
Still stuck?Read the written solution, or watch a walkthrough.
Open solution
Loading editor…
1class Solution:
2 def subarraySum(self, nums: List[int]) -> int:
3
Starter codePython 3Spaces: 4
Examples
Input
[2,3,1]
Input
[3,1,1,2]
Your code is saved on this device.Solution