基于项索引将数组拆分为N组的算法(应该简单)

ser*_*erg 3 arrays algorithm

我觉得这应该是非常简单明了的事情,但是在过去的半个小时里只是停留在这上面而且无法继续前进.

我需要的是根据元素索引将元素数组拆分为N组.

例如,我们有一个包含30个元素[e1,e2,... e30]的数组,必须分成N = 3个组,如下所示:

group1: [e1, ..., e10]
group2: [e11, ..., e20]
group3: [e21, ..., e30]
Run Code Online (Sandbox Code Playgroud)

对于N = 3,我想出了令人讨厌的混乱(伪语言,我在0和1上留下乘法只是为了澄清):

for(i=0;i<array_size;i++) {
   if(i>=0*(array_size/3) && i<1*(array_size/3) {
      print "group1";
   } else if(i>=1*(array_size/3) && i<2*(array_size/3) {
      print "group2";
   } else if(i>=2*(array_size/3) && i<3*(array_size/3)
      print "group3";
   }
}
Run Code Online (Sandbox Code Playgroud)

但是什么是适当的一般解决方案?

谢谢.

Nat*_*art 8

这样的事情怎么样?

for(i=0;i<array_size;i++) {
  print "group" + (Math.floor(i/(array_size/N)) + 1)
}
Run Code Online (Sandbox Code Playgroud)

  • 如果您正在索引像我一样的值数组,请在结尾处取消+1 (2认同)