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

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.

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 (ảnh 1)

- Kết quả như sau:

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 (ảnh 2)