我在Android上开发应用程序时遇到了问题。然而,问题是:算法:将y球放入x盒子中,其中x <= y
有x
盒和y
球,其中x <= y
,我要分发的球,把它们放在箱子里面为了。例如:3盒; box A
,box B
和box C
- 和5个球; ball 1
,ball 2
,ball 3
,ball 4
,ball 5
。
我需要的是把第一球ball 1
内box A
和ball 5
内box 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
EDIT2
通过in order
盒子球数之间的差异,我的意思是这样的:
A B C
---------
1 3 5
2 4
不
A B C
---------
1 2 3
4 5
只是为了澄清,你想要在球盒上均匀分布球吗? – 2012-04-09 20:08:58
boxCount = i%nbrOfBoxes; – matsev 2012-04-09 20:09:07
@YetAnotherGeek如果一个盒子的球比其他球多,那并不重要。 – 2012-04-09 20:10:08