我正在开发一个安卓应用,遇到了一个问题:
有
我需要将第一个球
有
x
个盒子和 y
个球,其中 x <= y
,我想按顺序将这些球分配到盒子里。例如:3个盒子,盒子 A
,盒子 B
和 盒子 C
,5个球,球1
,球2
,球3
,球4
,球5
。我需要将第一个球
球1
放在盒子A
中,将球5
放在盒子C
中,其余的球均匀地放置在所有盒子中(不要紧如果某个盒子中的球比其他盒子多)。以下是模拟此问题的循环(缺少增量值):int boxCount = 0; // first box is 0 and last box is x
int numOfBalls = y;
for(int i = 0; i < numOfBalls; i++, boxCount += ???)
{
boxes.get(boxCount).add(balls.get(i));
}
我应该使用什么等式来解决这个问题,而不是???
?
编辑:
由于x <= y
,这意味着:
- 没有一个盒子应该是空的。
- 盒子之间的球数差异不应超过1。
编辑2:
所谓“in order”,指的是这个顺序:
A B C
---------
1 3 5
2 4
不是
A B C
---------
1 2 3
4 5