← All problems

2574. Left and Right Sum Differences

EasyOpen on LeetCodeProblem statement

Problem Statement

2574. Left and Right Sum Differences

Easy


You are given a 0-indexed integer array nums of size n.

Define two arrays leftSum and rightSum where:

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:

Java

Source file
class Solution {
    public int[] leftRightDifference(int[] nums) {
        int n = nums.length, sum = 0;
        int[] prefixSum = new int[n];
        for (int i = 0; i < n; i++)
            prefixSum[i] = sum += nums[i];
        for (int i = 0; i < n; i++) // reuse for ans = rtSum-ltSum+self = (total-ltSum)-ltSum+n[i]
            prefixSum[i] = Math.abs(sum - 2 * prefixSum[i] + nums[i]);
        return prefixSum;
    }
}