小编kut*_*tta的帖子

给定一个由 0 和 1 组成的数组,找到最小值。将所有 1 放在一起的交换次数(仅允许相邻交换)

如果给定一个由 1 和 0 组成的数组,有什么好的算法可以显示将所有 1 组合在一起所需的最小相邻交换数。1 不需要在数组中的任何特定位置分组。它们只需要在提供最少相邻交换数量的任何地方分组。

例如,如果数组看起来像这样......

1,0,0,1,1,0,1

...相邻交换的最小数量为 3,因为您将以索引 4 为中心并执行以下交换:

  1. 交换索引 0 和 1,结果: 0,1,0,1,1,0,1

  2. 交换索引 1 和 2,导致: 0,0,1,1,1,0,1

  3. 交换索引 5 和 6,结果: 0,0,1,1,1,1,0

任何人都有一个很好的算法来找到任何 1 和 0 数组的最小相邻交换数?

arrays sorting algorithm

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

algorithm ×1

arrays ×1

sorting ×1