@kuzubina

Как найти последовательные элементы в массиве?

Есть массив такого вида [0,1,3,99,4,7,8,9,11,12,15,8,9]
К примеру мне нужно узнать сколько раз попадается последовательность чисел 8,9 (в данном примере попадается 2 раза)
Как это посчитать, подскажите плиз
  • Вопрос задан
  • 348 просмотров
Решения вопроса 1
const array = [0,1,3,99,4,7,8,9,11,12,15,8,9];
let count = 0;
for (let i = 0; i < array.length; i++) {
    if ( array[i] === 8 && array[i+1] === 9 ) {
        count++;
    }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Циклический сдвиг по позициям элементов массива с уменьшающимся "окном" просматриваемых элементов: от самого длинного N-1 до 1.

"Окно" совпало с имеющимся образцом для данного размера окна -> инкремент количества данной последовательности.
Не совпало -> новый элемент последовательности для данного размера "окна".

Итог: массив из всех последовательных уникальных сочетаний с указанием количества их повторов в изначальном массиве.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы