ขอบคุณชุมชน PPCG ซานต้าจึงสามารถจัดเรียงของขวัญของเขาให้ถูกต้องเพื่อย้ายเข้าสู่ท่าเรือขนส่ง โชคไม่ดีที่ท่าเทียบเรือขนส่งแตกหักดังนั้นเขาจึงไม่รู้ว่าจะนำเสนออะไรมาให้บ้าง! ของขวัญถูกจัดกลุ่มเข้าด้วยกันและไม่ใช่ตามช่วงเวลาของพวกเขาซึ่งซานต้ายอมรับว่าเป็นความคิดที่ดีกว่า
ตอนนี้เมื่อนำเสนอในลำดับที่เรียงลำดับให้กำหนดค่าช่วงน้อยที่สุดที่เป็นไปได้ทั้งหมดซึ่งจะส่งผลให้ปัจจุบันอยู่ในลำดับที่ถูกต้อง นั่นคือค้นหาการกำหนดค่าขั้นต่ำทั้งหมดเช่นการเรียงลำดับของขวัญตามอัลกอริทึมใน Challenge # 5 จะไม่เปลี่ยนลำดับ
ท้าทาย
การกำหนดค่าช่วงที่น้อยที่สุดคือรายการของช่วงที่แต่ละช่วงมีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ กล่าวคือหากช่วงถูกกำหนดให้ครอบคลุมชุดย่อยของของขวัญเฉพาะค่าต่ำสุดและสูงสุดของช่วงจะต้องเป็นค่าเดียวกันกับชุดย่อย กล่าวอีกนัยหนึ่งการลดขนาดช่วงใด ๆ ในหน้าปกจะทำให้มันไม่เป็นปกอีกต่อไป
ความท้าทายคือการหาการกำหนดค่าช่วงน้อยที่สุดที่เป็นไปได้ที่จะนำไปใช้กับขนาดปัจจุบัน ลองมาตัวอย่าง:[3, 1, 2, 5, 4, 7, 6]
มีกรณีเล็ก ๆ น้อย ๆ ซึ่งจะใช้ช่วงของการกำหนดค่าปัจจุบันทั้งหมด ในกรณีนี้[[1, 7]]
จะเป็นทางออก
สำหรับตัวอย่างที่มีองค์ประกอบเฉพาะกรณีเล็ก ๆ น้อย ๆ จะเป็น[[3], [1], [2], [5], [4], [7], [6]]
(เพราะไม่จำเป็นต้องสั่งช่วง)
สำหรับตัวอย่างนี้เรายังเห็นว่า[[1, 3], [4, 7]]
และ[[1, 3], [4, 5], [6, 7]]
จะทำงานเช่นเดียวกับและ[[1, 3], [5], [4], [6, 7]]
[[1, 3], [4, 5], [7], [6]]
คำตอบสุดท้ายสำหรับจะเป็น[3, 1, 2, 5, 4, 7, 6]
[[[3], [1], [2], [5], [4], [7], [6]], [[3], [1], [2], [5], [4], [6, 7]], [[3], [1], [2], [4, 5], [7], [6]], [[3], [1], [2], [4, 5], [6, 7]], [[3], [1], [2], [4, 7]], [[3], [1, 2], [5], [4], [7], [6]], [[3], [1, 2], [5], [4], [6, 7]], [[3], [1, 2], [4, 5], [7], [6]], [[3], [1, 2], [4, 5], [6, 7]], [[3], [1, 2], [4, 7]], [[1, 3], [5], [4], [7], [6]], [[1, 3], [5], [4], [6, 7]], [[1, 3], [4, 5], [7], [6]], [[1, 3], [4, 5], [6, 7]], [[1, 3], [4, 7]], [[1, 5], [7], [6]], [[1, 5], [6, 7]], [[1, 7]]]
การจัดรูปแบบข้อมูลจำเพาะ
ข้อมูลจะถูกป้อนเป็นรายการจำนวนเต็มบวกภายในช่วงหมายเลขที่เหมาะสมที่สนับสนุนในภาษาของคุณในรูปแบบที่เหมาะสม อินพุตอาจมีองค์ประกอบที่ซ้ำกัน ควรให้เอาต์พุตเป็นรายการ 3D ของจำนวนเต็มบวกในรูปแบบที่เหมาะสม
แต่ละช่วงในการส่งออกของคุณ (ซึ่งเป็นชั้นที่สอง) สามารถแสดงไม่ว่าจะเป็น[min, max]
, [num]
ถ้าหากมันเป็นช่วงเดียวคุ้มค่าหรือเป็นทั้งช่วงตัวเอง แต่รูปแบบการออกของคุณจะต้องสอดคล้องกัน โปรดระบุหากคุณต้องการใช้รูปแบบผลลัพธ์ที่สมเหตุสมผลแตกต่างกันเล็กน้อย
ค่าซ้ำต้องอยู่ในช่วงเดียวในเอาต์พุต นั่นคือไม่มีช่วงสองช่วงในเอาต์พุตที่อาจทับซ้อนกัน
โซลูชันของคุณอาจส่งคืนช่วงในลำดับใดก็ได้และสิ่งนี้ไม่จำเป็นต้องกำหนดไว้ล่วงหน้า
กฎระเบียบ
- ช่องโหว่มาตรฐานใช้
- นี่คือ รหัสกอล์ฟ ดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
- จะไม่ยอมรับคำตอบ
กรณีทดสอบสำหรับรายการที่มีองค์ประกอบที่ซ้ำกัน:
2 3 2 4 -> [[[2, 3], [4]], [[2, 4]]]
การดำเนินการอ้างอิง
ส่วนหัวคือลิงค์
หมายเหตุ: ผมดึงแรงบันดาลใจสำหรับชุดความท้าทายนี้จากการจุติของรหัส ฉันไม่มีส่วนเกี่ยวข้องกับเว็บไซต์นี้
คุณสามารถดูรายการของความท้าทายทั้งหมดในซีรีส์โดยดูที่ส่วน 'เชื่อมโยง' ของความท้าทายแรกที่นี่
มีความสุขในการเล่นกอล์ฟ!