如何动态查找最大组人数



我想找到最大组大小g_new如果我想对"n"值列表进行分区。我们可以有任意数量的组。

我有:n值和最大组规模可能g_max

例如

n = 110g_max = 25.

我们不能组成大小的组:[28,28,27,27]因为任何组都不应该超过 25 个!

在这里,解决方案是,g_new可以是 22。 因为它将形成 5 组,每组 22 个。

我的问题是:

我如何动态找到这个g_new(此处为 22)值,给定:ng_max

请注意,我想在不违反g_max的情况下组建尽可能大的团体!

对不起,如果这个问题太简单了,但我无法理解它。

假设您的意思是 n=110 并且希望组大小最多相差 1,您可以先计算所需组的向上舍入数,然后计算向上四舍五入的组大小:

>>> n, g_max = 110, 25
>>> -(n // (-n // g_max))
22
>>> n, g_max = 110, 36
>>> -(n // (-n // g_max))
28

最新更新