ท้าทาย
กำหนดลำดับของตัวเลขให้สร้างฟังก์ชั่นที่คืนค่าลำดับขั้นตอน
- สมมติว่าลำดับจะเป็น
N >= 3
- ลำดับจะทำซ้ำขั้นตอนอย่างน้อยหนึ่งครั้ง
- ลำดับจะมีตัวเลขตามธรรมชาติเท่านั้น
- ฟังก์ชั่นหรือโปรแกรมของคุณควรกลับลำดับขั้นตอนที่สั้นที่สุดที่เป็นไปได้
ตัวอย่าง:
การป้อนข้อมูล: [1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, 17]
เอาท์พุท: [1, 1, 2]
คำอธิบาย:1 => 2 (1 step), 2 => 3 (1 step), 3 => 5 (2 steps)
ลำดับเริ่มต้นไปจาก จากนั้นมันจะเกิดซ้ำ ผลลัพธ์ก็คือ[1 step, 1 step, 2 steps] => [1, 1, 2]
ตัวอย่างอื่น:
การป้อนข้อมูล: [2, 5, 6, 7, 8, 11, 12, 13, 14, 17, 18, 19, 20]
เอาท์พุท: [3, 1, 1, 1]
[2, 5, 6, 7, 8, 11, 12, 13, 14, 17, 18, 19, 20]
\ /\ /\ /\ /
3 1 1 1 Then it repeats...
กรณีทดสอบ
Input: [1, 4, 8, 9, 10, 13, 17, 18, 19, 22, 26, 27, 28] => Output: [3,4,1,1]
Input: [6, 11, 13, 18, 20, 25, 27, 32, 34, 39, 41] => Output: [5,2]
Input: [2, 6, 10, 13, 17, 21, 25, 28, 32, 36, 40, 43, 47] => Output: [4,4,3,4]
Input: [5, 6, 7] => Output: [1]
ชี้แจง
- ความยาวอินพุต - 1 หารด้วยความยาวเอาต์พุต
- สมมติว่าลำดับจะเพิ่มขึ้นเรื่อย ๆ
นี่คือโค้ดกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ