แรงบันดาลใจจากสร้างกำแพงไบนารี
รับรายการของจำนวนเต็มบวกเราสามารถเขียนพวกมันออกมาเหมือน[2, 6, 9, 4]
กันตัวอย่างเช่น:
0010
0110
1001
0100
เราสามารถจินตนาการสิ่งนี้ว่าเป็นกำแพง:
..#.
.##.
#..#
.#..
อย่างไรก็ตามนี่เป็นกำแพงที่อ่อนแอมากและมันทรุดลง! แต่ละ1
( #
) ต่ำลงจนฮิตว่า "ดิน" หรืออีก1
( #
) 0
s ( .
s) ที่มีอยู่ในจุดซ้ายโดยย้าย1
s
สิ่งนี้จะกลายเป็นสิ่งต่อไปนี้:
....
....
.##.
####
ซึ่งแปลกลับเป็น:
0000
0000
0110
1111
[0, 0, 6, 15]
ซึ่งเป็นรายการของตัวเลขเป็น
อีกกรณีทดสอบ
[10, 17, 19, 23]
สิ่งนี้กลายเป็น:
01010
10001
10011
10111
ซึ่งกลายเป็น:
00000
10011
10011
11111
แปลกลับไปที่:
[0, 19, 19, 31]
ท้าทาย
รับรายการของจำนวนเต็มบวกใช้การแปลงนี้กับรายการ อินพุต / เอาต์พุตเป็นรายการของจำนวนเต็มบวกในรูปแบบที่เหมาะสม ช่องโหว่มาตรฐานใช้
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในจำนวนไบต์ชนะ!