0

假设有一大组对象,每个对象都提供一个getSize()方法,该方法返回一个表示某种“大小”的数字。这个集合是(或可以)根据大小排序的。

为简单起见,还假设:

  • 组大小大于最大对象大小,使每个组至少包含一个对象
  • 组的总数没有限制

鉴于上述情况,将这些对象分配到组中的有效方法是什么,以便组中所有对象的总大小(大约)与所有其他组的总大小相同?

显然,可以线性地遍历集合并将一个对象放入一个组中,如果它适合,或者创建另一个组并在不适合的情况下将它放在那里,但是这种方法不能实现相等的大小分布。

该问题与编程语言无关,但其中的示例实现Java也很有趣。

4

0 回答 0