Огляд
Деякі з вас, можливо, знають про послідовність Колакоскі ( A000002 ), добре відому самореференційну послідовність, яка має таке властивість:
Це послідовність, що містить лише 1 і 2, і для кожної групи 1 і 2, якщо додати тривалість пробіжок, вона дорівнює самій, лише половині довжини. Іншими словами, послідовність Колакоскі описує тривалість пробігів у самій послідовності. Це єдина послідовність, яка робить це, за винятком тієї ж послідовності, що була видалена 1. (Це справедливо лише в тому випадку, якщо ви обмежитеся послідовностями, що складаються з 1 та 2 - Мартін Ендер)
Змагання
Завдання полягає в тому, щоб отримати список цілих чисел:
- Виведіть,
-1
якщо список НЕ є робочим префіксом послідовності Колакоскі. - Виведіть кількість ітерацій до настання послідовності
[2]
.
Приклад відпрацьованого
Використовуючи поданий образ як приклад:
[1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1] # Iteration 0 (the input).
[1,2,2,1,1,2,1,2,2,1,2] # Iteration 1.
[1,2,2,1,1,2,1,1] # Iteration 2.
[1,2,2,1,2] # Iteration 3.
[1,2,1,1] # Iteration 4.
[1,1,2] # Iteration 5.
[2,1] # Iteration 6.
[1,1] # Iteration 7.
[2] # Iteration 8.
Отже, отримане число призначене 8
для введення [1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1]
.
9
також добре, якщо ви здійснюєте 1-індексацію.
Тестовий набір (Ви можете протестувати і з підтерапіями)
------------------------------------------+---------
Truthy Scenarios | Output
------------------------------------------+---------
[1,1] | 1 or 2
[1,2,2,1,1,2,1,2,2,1] | 6 or 7
[1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1] | 8 or 9
[1,2] | 2 or 3
------------------------------------------+---------
Falsy Scenarios | Output
------------------------------------------+---------
[4,2,-2,1,0,3928,102904] | -1 or a unique falsy output.
[1,1,1] | -1
[2,2,1,1,2,1,2] (Results in [2,3] @ i3) | -1 (Trickiest example)
[] | -1
[1] | -1
Якщо ви плутаєте:
Truthy: Це врешті-решт досягне двох, без проміжного кроку, що має будь-які елементи, крім 1
і 2
. -Einkorn Enchanter 20 hours ago
Falsy: Кінцеве значення немає [2]
. Проміжні терміни містять щось інше, ніж щось набір [1,2]
. Ще пару речей, дивіться приклади.
Це кодовий гольф , переможець буде найнижчим.
[2]
поки я не побачив [2,2,1,1,2,1,2]
тестовий випадок.
1
і 2
.
[1]
як тестовий випадок.
-1
?