พิจารณาลำดับของตัวเลขหนึ่งมิติภายในช่วงที่กำหนดเช่น
[1, 2, 4, 6, 8, 0, 2, 7, 3] in range [0, 10⟩
กราฟที่เพิ่มมากขึ้น * ** เป็นเส้นที่เชื่อมจุดทั้งหมดในลำดับนี้จากซ้ายไปขวาและขึ้นไปเรื่อย ๆ หรืออยู่ในระดับ หากจำเป็นบรรทัดนั้นจะพันจากบนลงล่างและขึ้นไปเรื่อย ๆ จากจุดนั้นไปยังจุดถัดไป
เป้าหมายของความท้าทายนี้คือการแบ่งลำดับในการเรียงลำดับที่แตกต่างกันซึ่งไม่ได้สร้างขึ้นทั้งหมดดังนั้นเมื่อวางแผนร่วมกับแกนแนวตั้งที่ จำกัด พวกเขาจะสร้างกราฟที่เพิ่มมากขึ้นเรื่อย ๆ สิ่งนี้ทำได้โดยการเพิ่มจุดหนึ่งไปยังจุดสิ้นสุดของการเรียงลำดับหนึ่งและการเริ่มต้นของการเรียงลำดับถัดไปเพื่อให้มุมของเส้นที่ตัดผ่านขอบเขตด้านบนจัดชิดกับเส้นที่ข้ามขอบเขตด้านล่างและจุดข้ามสองจุด มีพิกัดแนวนอนเดียวกัน ตัวอย่างข้างต้นจะให้ผลลัพธ์ต่อไปนี้:
[1, 2, 4, 6, 8, 10]
[-2, 0, 2, 7, 13]
[-3, 3]
และกราฟที่เกี่ยวข้องจะมีลักษณะดังต่อไปนี้: และเมื่อแกนขยายออกไปเพื่อให้ได้มุมมองที่ดีขึ้น: ผลลัพธ์ที่ต้องการคือรายการลำดับที่เป็นส่วนประกอบของกราฟที่เพิ่มมากขึ้น ไม่จำเป็นต้องทำการพล็อต แต่จะได้รับคะแนนโบนัส;) เอาท์พุทจะต้องแยกองค์ประกอบอย่างชัดเจนในทางใดทางหนึ่ง
หมายเหตุ
- ช่วงจะมีศูนย์เสมอเป็นขอบเขตด้านซ้าย (รวม) และขอบเขตด้านขวาจะเป็นจำนวนเต็ม N
- ลำดับจะไม่ประกอบด้วยค่าที่ไม่อยู่ในช่วง
- การเรียงลำดับแรกไม่มีจุดเพิ่มเติมที่จุดเริ่มต้น
- การเรียงลำดับสุดท้ายไม่มีจุดเพิ่มเติมในตอนท้าย
- ไม่จำเป็นต้องระบุดัชนีเริ่มต้นที่จะต้องมีการวางแผนองค์ประกอบ
กรณีทดสอบ
Input: [0, 2, 4, 6, 1, 3, 5, 0], 7
Output: [0, 2, 4, 6, 8], [-1, 1, 3, 5, 7], [-2, 0]
Input: [1, 1, 2, 3, 5, 8, 3, 1], 10
Output: [1, 1, 2, 3, 5, 8, 13],[-2, 3, 11],[-7, 1]
Input: [5, 4, 3, 2, 1], 10
Output: [5, 14],[-5, 4, 13],[-6, 3, 12],[-7, 2, 11],[-8, 1]
Input: [0, 1, 4, 9, 16, 15, 0], 17
Output: [0, 1, 4, 9, 16, 32], [-1, 15, 17], [-2, 0]
เกณฑ์การให้คะแนน
นี่คือโค้ดกอล์ฟซึ่งเป็นรหัสที่สั้นที่สุดในหน่วยไบต์
* ไม่ใช่ศัพท์แสงที่เกิดขึ้นจริง ** จริงๆแล้วควรเรียกกราฟที่ไม่มีการลดลงตามที่ @ngm ชี้ให้เห็น แต่ฟังดูน่าประทับใจน้อยกว่า