Состояние = Начальное
цикл для всех как Ключ => Значение {
Если Состояние == Интервал {
если Значение == 1 {
// конец интервала найден
Конец = Ключ - 1
// Результат добавить пару [Начало, Конец]
Состояние = начальное
}
}
если Состояние == Начальное и Значение = 0 {
Состояние == Интервал
Начало = Ключ
}
}
}
// после цикла
если Состояние == Интервал {
// добавить хвост
}