ID:453432880
Доброй ночи
Подскажите пожалуйста решение
Есть простой одномерный массив 0,1,2,3
и заполняется он рандомно числами:
1,1,1,1 2,2,2,2 3,3,3,3 4,4,4,4
Нужно сделать проверку на 1.2,3,4 случайных, одинаковых, рядом стоящих значений в массиве.
Вопрос: как это сделать?
Пример:
2,2,3,2 или 3,2,2,1 или 4,1,2,2 - пара 2 рядом стоящих, одинаковых числа
2,2,4,4 - две пары рядом стоящих, случайных значений
если 1,1 или 2,2 или 3,3 или 4,4 - стоят рядом в массиве, то происходит действие
1,1,1,4 - 3 рядом стоящих, одинаковых числа
4,4,4,4 - 4 рядом стоящих, одинаковых числа
const arr = [ 1, 2, 3, 4 ];
const action = `${arr[0]}${arr[1]}${arr[2]}${arr[3]}`;
action == '1234';
А можно и по другому:
два соседних числа преобразовываем в байткод:
"1","2" => 12 => 0x0C
"3","4" => 34 => 0x22
В целом получаем байткод =
0C22
для чисел с нулем:
"0","2" => 02+100 => 102 => 0x66
"2","0" => 20 => 0x14
преобразование обратно:
0x66 > 99 => "0", "0x66-100" => "0","2"Еще примеры:
0220 => 0214
1221 => 0C15
7777 => 4D4D