Tôi đã hỏi câu hỏi này trên stackoverflow , nhưng có lẽ nó phù hợp hơn với trang web này.
Vấn đề là:
Tôi có N cặp số nguyên không dấu. Tôi cần sắp xếp chúng. Vectơ kết thúc của các cặp nên được sắp xếp không giới hạn theo số thứ nhất trong mỗi cặp và không tăng theo số thứ hai trong mỗi cặp. Mỗi cặp có thể có các yếu tố thứ nhất và thứ hai hoán đổi tại bất kỳ điểm nào. Đôi khi không có giải pháp, vì vậy tôi cần phải ném một ngoại lệ sau đó.
Thí dụ:
in pairs:
1 5
7 1
3 8
5 6
out pairs:
1 7 <-- swapped
1 5
6 5 <-- swapped
8 3 <-- swapped
^^ Nếu không trao đổi cặp thì không thể xây dựng giải pháp. Vì vậy, chúng tôi trao đổi các cặp (7, 1), (3, 8) và (5, 6) và xây dựng kết quả. hoặc là
in pairs:
1 5
6 9
out:
not possible
Cảm ơn
biên tập:
Tom Sirgedas trên SO đề xuất giải pháp tốt nhất . Nó thực sự dễ thực hiện và hoạt động trong O (log (n) * n). Cảm ơn tất cả các câu trả lời và quan tâm. Tôi thực sự rất thích phân tích mjqxxxx.