ให้เป็นรายการของจำนวนเต็มบวกที่ไม่มีการเรียงลำดับเฉพาะและสามารถมีรายการซ้ำได้ เขียนโปรแกรมหรือฟังก์ชั่นที่แสดงรายการของจำนวนเต็มบวกM (ซึ่งเรียงลำดับไม่สำคัญ) เช่นการรวมผลลัพธ์LและMลงในรายการที่เล็กที่สุดซึ่งสามารถแบ่งออกเป็นช่วงจำนวนเต็มเหมือนกัน[ 1 .. i ]โดยที่ฉันคือ องค์ประกอบที่ใหญ่ที่สุดในL
ตัวอย่าง
L = [5,3,3,2,7]ให้ องค์ประกอบที่สูงสุดของการมีL 7จำนวนครั้งที่มากที่สุดที่เฉพาะเจาะจงเกิดขึ้นคือ2( 3ปรากฏขึ้น 2 ครั้ง) ดังนั้นเราจำเป็นต้องแสดงรายการMที่จะอนุญาตให้เสร็จสมบูรณ์Lเพื่อให้เราสามารถสร้าง2ช่วงของจำนวนเต็มจาก1ถึง7ไป
ดังนั้นเราจำเป็นต้องแสดงผลลัพธ์M = [1,1,2,4,4,5,6,6,7]เพื่อให้จำนวนเต็มแต่ละค่าจาก1ถึง7ปรากฏขึ้น2ครั้ง
อินพุตและเอาต์พุต
- ใช้อะไรก็ได้ในภาษาของคุณที่คล้ายกับรายการ โครงสร้างข้อมูลที่ใช้สำหรับอินพุตและเอาต์พุตต้องเหมือนกัน
- รายการอินพุตจะมีจำนวนเต็มบวกเท่านั้น
- รายการอินพุตจะไม่ว่างเปล่า
- คุณไม่สามารถถือว่ารายการอินพุตถูกเรียงลำดับ
- การเรียงลำดับในรายการเอาท์พุทไม่สำคัญ
กรณีทดสอบ
Input Output
[1] []
[7] [1, 2, 3, 4, 5, 6]
[1, 1, 1] []
[1, 8] [2, 3, 4, 5, 6, 7]
[3, 3, 3, 3] [1, 1, 1, 1, 2, 2, 2, 2]
[5, 2, 4, 5, 2] [1, 1, 3, 3, 4]
[5, 2, 4, 5, 5] [1, 1, 1, 2, 2, 3, 3, 3, 4, 4]
[5, 3, 3, 2, 7] [1, 1, 2, 4, 4, 5, 6, 6, 7]
เกณฑ์การให้คะแนน
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
iเป็นองค์ประกอบที่ใหญ่ที่สุดของLมันเป็นความผิดพลาดในรายละเอียด
M=[1,1,2,2,3]สำหรับL=[3]ขณะที่ "การผสาน L และผลในรายการ M ซึ่งสามารถแบ่งออกเป็นช่วงสิ้นเชิงเหมือนกันของจำนวนเต็ม [1..i] เป็น"?
[1,2]ไม่มีก็ควรกลับ ฉันจะอธิบายให้ชัดเจนเพื่อให้ชัดเจนว่าควรส่งผลให้มีจำนวนช่วงน้อยที่สุด
iองค์ประกอบที่ใหญ่ที่สุดของLหรือM?