ฉันได้ถามคำถามนี้ไปแล้วเกี่ยวกับstackoverflowแต่อาจเหมาะสำหรับไซต์นี้มากกว่า
ปัญหาคือ:
ฉันมีเลขจำนวนเต็ม N คู่ที่ไม่มีเครื่องหมาย ฉันต้องการจัดเรียงพวกเขา เวกเตอร์ที่สิ้นสุดของคู่ควรเรียงลำดับโดยไม่เพิ่มจำนวนแรกในแต่ละคู่และไม่เพิ่มขึ้นเป็นวินาทีในแต่ละคู่ แต่ละคู่สามารถมีองค์ประกอบที่หนึ่งและสองสลับที่จุดใดก็ได้ บางครั้งก็ไม่มีวิธีแก้ปัญหาดังนั้นฉันต้องทิ้งข้อยกเว้นไปก่อน
ตัวอย่าง:
in pairs:
1 5
7 1
3 8
5 6
out pairs:
1 7 <-- swapped
1 5
6 5 <-- swapped
8 3 <-- swapped
^^ หากไม่มีการแลกเปลี่ยนคู่เป็นไปไม่ได้ที่จะสร้างวิธีแก้ปัญหา ดังนั้นเราจึงสลับคู่ (7, 1), (3, 8) และ (5, 6) และสร้างผลลัพธ์ หรือ
in pairs:
1 5
6 9
out:
not possible
ขอบคุณ
แก้ไข:
ทอม Sirgedas ในดังนั้นเสนอที่ดีที่สุดสำหรับการแก้ปัญหา มันง่ายมากที่จะใช้งานและทำงานใน O (log (n) * n) ขอบคุณสำหรับคำตอบและความสนใจ ฉันชอบการวิเคราะห์ mjqxxxx