Tổng quan
Một số bạn có thể biết về Trình tự Kolakoski ( A000002 ), một trình tự tự tham khảo nổi tiếng có thuộc tính sau:
Đó là một chuỗi chỉ chứa 1 và 2, và đối với mỗi nhóm 1 và twos, nếu bạn cộng chiều dài của các lần chạy, nó sẽ bằng chính nó, chỉ bằng một nửa chiều dài. Nói cách khác, chuỗi Kolakoski mô tả độ dài của các bước chạy trong chính chuỗi đó. Đây là chuỗi duy nhất thực hiện điều này ngoại trừ chuỗi tương tự với 1 ban đầu bị xóa. (Điều này chỉ đúng nếu bạn giới hạn bản thân trong các chuỗi được tạo thành từ 1 và 2 - Martin Ender)
Các thách thức
Thách thức là, đưa ra một danh sách các số nguyên:
- Đầu ra
-1
nếu danh sách KHÔNG phải là tiền tố hoạt động của chuỗi Kolakoski. - Xuất số lần lặp trước khi chuỗi trở thành
[2]
.
Ví dụ làm việc
Sử dụng hình ảnh được cung cấp làm ví dụ:
[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.
Do đó, số kết quả là 8
cho một đầu vào [1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1]
.
9
cũng tốt nếu bạn đang lập chỉ mục 1.
Bộ kiểm tra (Bạn cũng có thể kiểm tra với các lần lặp phụ)
------------------------------------------+---------
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
Nếu bạn bối rối:
Sự thật: Cuối cùng nó sẽ đạt đến hai mà không có bất kỳ bước trung gian nào có bất kỳ yếu tố nào khác ngoài 1
và 2
. -Einkorn Enchanter 20 hours ago
Falsy: Giá trị kết thúc là không [2]
. Các thuật ngữ trung gian có chứa một cái gì đó khác với một cái gì đó của tập hợp [1,2]
. Một vài điều khác, xem ví dụ.
Đây là mã golf , số byte thấp nhất sẽ là người chiến thắng.
[2]
cho đến khi tôi nhìn thấy [2,2,1,1,2,1,2]
trường hợp thử nghiệm.
1
và 2
.
[1]
vào như một trường hợp thử nghiệm.
-1
?