Skip to main content

3208.js

/** ------------------------------------------------------------------------------
*
* 3208. Alternating Groups II
* Topics: Sliding Window
* https://leetcode.com/problems/alternating-groups-ii/description/?envType=daily-question&envId=2025-03-09
*
------------------------------------------------------------------------------ */
/**
* @param {number[]} colors
* @param {number} k
* @return {number}
*/
var numberOfAlternatingGroups = function (colors, k) {
for (let i = 0; i < k - 1; i++) colors.push(colors[i])
let res = 0,
cnt = 1
for (let i = 1; i < colors.length; i++) {
if (colors[i] != colors[i - 1]) cnt++
else cnt = 1
if (cnt >= k) res++
}

return res
}

console.log(numberOfAlternatingGroups([1, 2, 1, 2, 1], 2))