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

g3101_3200.s3101_count_alternating_subarrays.Solution.kt Maven / Gradle / Ivy

package g3101_3200.s3101_count_alternating_subarrays

// #Medium #Array #Math #2024_04_23_Time_499_ms_(97.78%)_Space_70.3_MB_(80.00%)

class Solution {
    fun countAlternatingSubarrays(nums: IntArray): Long {
        var count: Long = 0
        var length: Long
        var start = 0
        var end = 1
        while (end < nums.size) {
            if (nums[end] != nums[end - 1]) {
                end++
            } else {
                length = end - start.toLong()
                count += (length * (length + 1)) / 2
                start = end
                end++
            }
        }
        length = end - start.toLong()
        count += (length * (length + 1)) / 2
        return count
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy