https://ru.wikipedia.org/wiki/%D0%90%D0%B2%D1%82%D...
у тебя состояния.
1) начальное
2) текущий интервал
сигналы входные - цикл по твоему массиву
используется значение и текущий индекс
графы переходов.
из начального состояния(1) в (2) запомнить S
если в состоянии (2) найден конец интервала, то добавить в массив результатов и перейти в состояние (1)
в остальных случаях реакций нет.
ну и аккуратнее на первом и последнем элементе.
Если после цикла состояние (2), то закрываешь интервал последним индексом