@kuzubina

Как найти максимальное количество повторений в массиве идущих подряд?

Есть массив такого вида
const arr = [1, 5, 99, 1, 1, 1, 2, 8, 1, 1 ,1 ,1]
Нужно посчитать максимальное количество повторяющихся элементов идущих подряд. К примеру в данном случае нужно посчитать сколько максимально в ряд идет 1 (тут 4 повторения).
  • Вопрос задан
  • 1152 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Math.max(0, ...arr.reduce((acc, n, i, a) => (
  n !== a[i - 1] && acc.push(0),
  acc[acc.length - 1]++,
  acc
), []))

или

arr.reduce((acc, n, i, a) => (
  n !== a[~-i] && (acc[1] = 0),
  acc[0] = acc[+(++acc[1] > acc[0])],
  acc
), [ 0, 0 ])[0]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы