Pozwala zdefiniować proces zgniatania tablicy liczb. W sympatii czytamy tablicę od lewej do prawej. Jeśli w pewnym momencie napotkamy dwa takie same elementy w rzędzie, usuwamy pierwszy i podwajamy drugi. Na przykład tutaj jest proces zgniatania następującej tablicy
[5,2,2,3]
^
[5,2,2,3]
^
[5,2,2,3]
^
[5,4,3]
^
[5,4,3]
^
Ten sam element może być wielokrotnie zwinięty, na przykład [1,1,2]
staje się [4]
po zmiażdżeniu.
Nazwiemy tablicę niezniszczalną, gdy proces zmiażdżenia tej tablicy nie zmieni jej. Na przykład [1,2,3]
wciąż jest [1,2,3]
po zmiażdżeniu.
Twoim zadaniem jest wziąć tablicę i określić liczbę zmiażdżeń wymaganych, aby uczynić ją niemożliwą do zniszczenia. Potrzebujesz tylko liczb całkowitych z zakresu od 0 do 2 32 -1
To jest golf golfowy, więc odpowiedzi będą liczone w bajtach, przy czym mniej bajtów będzie lepszych.
Przypadki testowe
[1] -> 0
[1,1] -> 1
[2,1,1] -> 2
[4,2,1,1] -> 3
[2,2,2,1,1] -> 3
[0,0,0,0] -> 1
[4,0,0,0,4] -> 1
[4,0,0,0,0,4] -> 1
[] -> 0
0,0,0,0
było 1
. Dobrym pomysłem może być wyraźne wspomnienie gdzieś, że liczymy, ile razy musimy zapętlić się przez tablicę, aby ją całkowicie zmiażdżyć, a nie , jak początkowo myślałem, całkowitą liczbę zmiażdżenia 2 liczb razem.
[1,1,2,4,8]
zwrócić 1 lub 4?