Alternating Groups I
EasyArraySliding Window
Solution
export function numberOfAlternatingGroups(colors: number[]): number {
const n = colors.length;
let answer = 0;
for (let mid = 0; mid < n; mid++) {
const left = mid === 0 ? n - 1 : mid - 1;
const right = mid === n - 1 ? 0 : mid + 1;
if (colors[left] !== colors[mid] && colors[mid] !== colors[right]) {
answer += 1;
}
}
return answer;
}
Complexity
- Time:
O(N)
- Space:
O(1)