用于对序列进行排序的连续数量交换的数量等于以相反顺序排列的对的数量.
例如
6 1 3 2 4 5
Run Code Online (Sandbox Code Playgroud)
下面列出了相反顺序的对:
(6,1) (6,3) (6,2) (6,4) (6,5) (3,2)
Run Code Online (Sandbox Code Playgroud)
所以
对序列进行排序的操作是:
swap(6,1) 1 6 3 2 4 5
swap(6,3) 1 3 6 2 4 5
swap(6,2) 1 3 2 6 4 5
swap(6,4) 1 3 2 4 6 5
swap(6,5) 1 3 2 4 5 6
swap(3,2) 1 2 3 4 5 6
Run Code Online (Sandbox Code Playgroud)
所以操作是确定的(除非你做一些无用的操作).
您只需要按相反的顺序计算所有对(x,y),并总结min(x,y).
| 归档时间: |
|
| 查看次数: |
422 次 |
| 最近记录: |