#!/usr/bin/python3 # -*- coding: utf-8 -*- from typing import List def inversions(seq: List[int]): """ 计算逆序数. """ count = 0 n = len(seq) for i in range(n): for j in range(i + 1, n): if seq[i] > seq[j]: count += 1 return count def main(): seq_list = [ [0, 1, 2, 3, 4, 5, 6], [1, 0, 2, 3, 4, 5, 6], [1, 2, 0, 3, 4, 5, 6], [3, 4, 5, 6, 0, 1, 2], ] for seq in seq_list: count = inversions(seq) print(count) return if __name__ == "__main__": main()