Left and Right Sum Differences

Tags : leetcode, math, cpp, easy

Given a 0-indexed integer array nums, find a 0-indexed integer array answer where:

Where:

Return the array answer.

Examples #

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 #

Solutions #


class Solution {
public:
    vector<int> leftRigthDifference(vector<int>& nums) {
        int total_sum = accumulate(nums.begin(), nums.end(), 0);
        int cur_sum = 0;
        vector<int> res;
        for(int &i: nums) {
            total_sum -= i;
            res.push_back(abs(total_sum - cur_sum));
            cur_sum += i;
        }
        return res;
    }
}