ภาพรวม
บางท่านอาจทราบถึงKolakoski Sequence ( A000002 ) ซึ่งเป็นลำดับการอ้างอิงตัวเองที่รู้จักกันดีซึ่งมีคุณสมบัติดังต่อไปนี้:
มันเป็นลำดับที่มีเพียง 1 และ 2 และสำหรับแต่ละกลุ่มของ 1 และ 2 ถ้าคุณเพิ่มความยาวของการวิ่งมันเท่ากับตัวเองเพียงครึ่งหนึ่งของความยาว กล่าวอีกนัยหนึ่งลำดับ Kolakoski อธิบายความยาวของการวิ่งในลำดับนั้น เป็นลำดับเดียวที่ทำสิ่งนี้ยกเว้นลำดับเดียวกันโดยลบ 1 ครั้งแรก (สิ่งนี้เป็นจริงเฉพาะในกรณีที่คุณ จำกัด ตัวเองในลำดับที่ประกอบด้วย 1 และ 2 - Martin Ender)
ความท้าทาย
ความท้าทายคือให้รายการของจำนวนเต็ม:
- เอาต์พุต
-1
ถ้ารายการไม่ใช่ส่วนนำหน้าของลำดับ Kolakoski [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
?