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

g3301_3400.s3355_zero_array_transformation_i.Solution.kt Maven / Gradle / Ivy

package g3301_3400.s3355_zero_array_transformation_i

// #Medium #Array #Prefix_Sum #2024_11_19_Time_6_ms_(36.84%)_Space_94_MB_(100.00%)

class Solution {
    fun isZeroArray(nums: IntArray, queries: Array): Boolean {
        val n = nums.size
        var sum = 0
        for (num in nums) {
            sum += num
        }
        if (sum == 0) {
            return true
        }
        val diff = IntArray(n + 1)
        for (q in queries) {
            val low = q[0]
            val high = q[1]
            diff[low] -= 1
            if (high + 1 < n) {
                diff[high + 1] += 1
            }
        }
        for (i in 0.. 0) {
                diff[i] += diff[i - 1]
            }
            nums[i] += diff[i]
            sum += diff[i]
            if (nums[i] > 0) {
                return false
            }
        }
        return sum <= 0
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy