All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g2501_2600.s2574_left_and_right_sum_differences.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g2501_2600.s2574_left_and_right_sum_differences;

// #Easy #Array #Prefix_Sum #2023_08_21_Time_2_ms_(74.57%)_Space_43.7_MB_(76.84%)

/**
 * 2574 - Left and Right Sum Differences\.
 *
 * Easy
 *
 * Given a **0-indexed** integer array `nums`, find a **0-indexed** integer array `answer` where:
 *
 * *   `answer.length == nums.length`.
 * *   `answer[i] = |leftSum[i] - rightSum[i]|`.
 *
 * Where:
 *
 * *   `leftSum[i]` is the sum of elements to the left of the index `i` in the array `nums`. If there is no such element, `leftSum[i] = 0`.
 * *   `rightSum[i]` is the sum of elements to the right of the index `i` in the array `nums`. If there is no such element, `rightSum[i] = 0`.
 *
 * Return _the array_ `answer`.
 *
 * **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 <= 1000`
 * *   1 <= nums[i] <= 105
**/
public class Solution {
    public int[] leftRightDifference(int[] nums) {
        int ls = 0;
        int rs = 0;
        for (int i : nums) {
            rs += i;
        }
        for (int i = 0; i < nums.length; ++i) {
            ls += nums[i];
            rs -= nums[i];
            nums[i] = Math.abs(rs - (ls - nums[i]));
        }
        return nums;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy