LeetCode in Kotlin

2574. Left and Right Sum Differences

Easy

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

Where:

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:

Solution

class Solution {
    fun leftRightDifference(nums: IntArray): IntArray {
        val n = nums.size
        val ans: IntArray = IntArray(n)
        var rightSum = nums.sum()
        var leftSum = 0

        for (i in nums.indices) {
            rightSum = rightSum - nums[i]
            ans[i] = Math.abs(leftSum - rightSum)
            leftSum += nums[i]
        }

        return ans
    }
}