2574. Left and Right Sum Differences
Description
You are given a 0-indexed integer array nums of size n.
Define two arrays leftSum and rightSum where:
leftSum[i]is the sum of elements to the left of the indexiin the arraynums. If there is no such element,leftSum[i] = 0.rightSum[i]is the sum of elements to the right of the indexiin the arraynums. If there is no such element,rightSum[i] = 0.
Return an integer array answer of size n where answer[i] = |leftSum[i] - rightSum[i]|.
Example 1:
Input: nums = [10,4,8,3] Output: [15,1,11,22] Explanation: The array leftSum is [0,10,14,22] and the array rightSum is [15,11,3,0]. The array answer is [|0 - 15|,|10 - 11|,|14 - 3|,|22 - 0|] = [15,1,11,22].
Example 2:
Input: nums = [1] Output: [0] Explanation: The array leftSum is [0] and the array rightSum is [0]. The array answer is [|0 - 0|] = [0].
Constraints:
1 <= nums.length <= 10001 <= nums[i] <= 105
Solutions
Solution 1: Prefix Sum
We define a variable \(left\) to represent the sum of the elements to the left of index \(i\) in the array nums, and a variable \(right\) to represent the sum of the elements to the right of index \(i\) in the array nums. Initially, \(left = 0\), \(right = \sum_{i = 0}^{n - 1} nums[i]\).
We iterate over the array nums. For the current number \(x\) we are iterating over, we update \(right = right - x\). At this point, \(left\) and \(right\) represent the sum of the elements to the left and right of index \(i\) in the array nums, respectively. We add the absolute difference between \(left\) and \(right\) to the answer array ans, and then update \(left = left + x\).
After the iteration is complete, we return the answer array ans.
The time complexity is \(O(n)\), and the space complexity is \(O(1)\). Where \(n\) is the length of the array nums.
Similar problems:
1 2 3 4 5 6 7 8 9 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
1 2 3 4 5 6 7 8 9 10 11 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Solution 2
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | |
Solution 3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | |