Игральная кость - шестигранный кубик, который бросается несколько раз.
src/Solution.php
Реализуйте функцию, которая принимает на вход историю подбрасывания кубика в виде массива, и возвращает ассоциативный массив, где ключом служит число из списка, а значением служит ассоциативный массив, в котором ключи - это числа, выпавшие после первоначального числа, а значения - это вероятность их выпадения.
Например, если передать на вход массив [1, 3, 1, 5, 1]
, получившийся ассоциативный массив будет выглядеть так:
[
1 => [
3 => 0.5,
5 => 0.5
],
3 => [1 => 1],
5 => [1 => 1]
];
То есть, после числа 1 выпадали числа 3 и 5 с равной долей вероятности 0.5, тогда как после чисел 3 и 5 всегда выпадала единица, что дает нам вероятность в 1.
Примеры работы
calculateProbabilities(); // []
calculateProbabilities([1, 3, 1, 5, 1, 2, 5, 6, 2, 5, 2, 6, 4, 4]);
/*
[
1 => [
3 => 0.33,
5 => 0.33,
2 => 0.33
],
3 => [1 => 1],
5 => [
1 => 0.33,
6 => 0.33,
2 => 0.33
],
2 => [
5 => 0.67,
6 => 0.33
],
6 => [
2 => 0.5,
4 => 0.5
],
4 => [4 => 1]
];
*/
Для полного доступа к испытанию нужна профессиональная подписка
Профессиональная подписка откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.