小编veg*_*yan的帖子

如何将元素1与数组中的0交换(仅包含1和0),以便所有1都在一起

如何解决以下编程问题.

有一个数组只包含0s1s按随机顺序排列.的位置1可以与任何位置被切换0.什么是所需的最小交换数量,以便所有交换1s在一起.

解决这个问题的最佳方法是什么?我甚至无法想出蛮力的方法.

例如,考虑以下数组(索引从0开始)

  1. 数组大小14 1 0 0 0 1 0 1 0 1 0 0 0 0 1

  2. 第一次传递后0 0 0 0 1 1 1 0 1 0 0 0 0 1(索引0与索引5交换)

  3. 第二次传球后0 0 0 0 1 1 1 1 1 0 0 0 0 0(指数7与指数13交换)

需要两次交换才能将所有内容1s整合在一起

java arrays

0
推荐指数
1
解决办法
66
查看次数

标签 统计

arrays ×1

java ×1