Nâng cấp chương trình của nhiệm vụ 1 với yêu cầu bổ sung: Cần đưa ra kết quả là số lượng
20
20/06/2024
Nâng cấp chương trình của nhiệm vụ 1 với yêu cầu bổ sung: Cần đưa ra kết quả là số lượng các cặp nghịch đảo và toàn bộ dãy các cặp chỉ số nghịch đảo đã tìm thấy. Ví dụ với A = [4, 5, 2, 10, 4] thì chương trình sẽ đưa ra giá trị 4 và dãy [(4, 2), (5, 2), (5, 4), (1, 4)].
Trả lời
Để giải quyết bài toán đếm số cặp nghịch đảo của dãy số, ta có thể sử dụng một thuật toán đơn giản như sau:
- Duyệt qua từng phần tử của dãy và đối chiếu với các phần tử sau nó để tìm các cặp nghịch đảo.
- Nếu phần tử tại vị trí i lớn hơn phần tử tại vị trí j, ta tăng biến đếm số cặp nghịch đảo lên 1 và lưu cặp chỉ số (i, j) vào danh sách các cặp nghịch đảo.
- Trả về giá trị biến đếm số cặp nghịch đảo và danh sách các cặp chỉ số nghịch đảo.
- Kết quả như sau: