解題的核心在於計算一個列表的逆序對數量。使用雙重迴圈比較每一對元素,當 b[i] > b[j]
(i < j
)時,表示存在一個逆序對,計數器增加。
s
為 0。s
增加 1。這種方法的時間複雜度為 O(l2)O(l2),在 l
较大时效率较低,但对於小逸數列的情況仍然可以接受。
l
為 0 時,直接輸出 "Optimal train swapping takes 0 swaps."for i in range(len(b)):
for j in range(i+1, len(b)):
if b[i]>b[j]:
s+=1