添加0和1是java中的备用数组单元格

Abh*_*ary 4 java algorithm data-structures

我有任何值为0,0,0,0,0,0,0,0,1,1,1的数组现在我的所需输出应该像每个零将在奇数索引中,1将在偶数和如果0之后离开它应该在1之后复制而反之亦然.意味着输出将是0,1,0,1,0,1,0,0,0,0,0 .... 但是上面的操作必须在单个数组传递中完成

  • 所以我创建了一个大小相同的数组,
  • 然后我开始遍历主数组,一个0被激活我设置一个计数器来设置奇数索引中的值,反之亦然
  • 最后当索引超过创建的新数组的长度时,我开始从后向以偶数模式将0添加到新单元格中.

什么是另一个更好的解决方案.

noM*_*MAD 5

你不需要额外的数组.你可以就地做到这一点.只需保留两个指针,一个在每个奇数步骤后停止,一个找到1s.当第二个指针遇到一个1刚与第一个指针交换它时,递增第一个指针.对阵列的长度执行此操作.