ให้เป็นรายการของจำนวนเต็มบวกที่ไม่มีการเรียงลำดับเฉพาะและสามารถมีรายการซ้ำได้ เขียนโปรแกรมหรือฟังก์ชั่นที่แสดงรายการของจำนวนเต็มบวก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
?