Определить вхождение последовательностей цифр
Здравствуйте. Есть задача такого плана: у меня есть 1 миллион случайных цифр в диапазоне от 0 до 1. И есть задачи:
1.Определить количество 0, определить количество 1. 2.Определить количество последовательностей из двух цифр (00, 01, 10, 11). 3.Определить количество последовательностей из трех цифр (000, 001, 010, и т.д.) С пунктом номер 1 я справился с помощью reduce: var arr = [Массив этих цифр через запятую].reduce(function(acc, el) { acc[el] = (acc[el] || 0) + 1; return acc; }, {}); document.write('<pre>', JSON.stringify( result, null, 2), '</pre>'); А вот уже с остальными пошли проблемы, подскажите как лучше это реализовать. Может я пошел не правильным путем в принципе. Буду рад любой помощи) |
juniour js-scripter,
смотря как считать, можно например, разбить массив чисел на массив строк по два/три символа и тотже метод подсчёта. |
juniour js-scripter,
или так ... <script> var arr = [1,0,0,0,1,1,0,1]; var key = "" + arr[0]; var obj = arr.slice(1).reduce(function(acc, el) { key += el; key = key.slice(-2); acc[key] = (acc[key] || 0) + 1; return acc; }, {}); document.write(JSON.stringify(obj, "", 4)) </script> |
Спасибо всем за ответы!) Задача уже решена)
|
Часовой пояс GMT +3, время: 10:38. |