小编Imt*_*mtk的帖子

如何将一组分为两组,使平均值的差异最小?

据我了解,这与分区问题有关。

但是我想问一个稍微不同的问题,我不在乎总和,而是在乎平均值。在这种情况下,它需要同时优化 2 个约束(总和和项目数)。这似乎是一个更难的问题,我在网上看不到任何解决方案。

是否有针对此变体的任何解决方案?或者它与分区问题有什么关系?


例子:

input X = [1,1,1,1,1,6]
output based on sum: A = [1,1,1,1,1], B=[6]
output based on average: A = [1], B=[1,1,1,1,6]
Run Code Online (Sandbox Code Playgroud)

theory algorithm complexity-theory np-complete

7
推荐指数
1
解决办法
146
查看次数

如果只依赖于输入值而不是输入大小,如何确定Big-o复杂度?

我刚看到有关排序的javascript代码setTimeout,如图所示

var list = [2,  5, 10, 4, 8, 32]; 
var result = [];
list.forEach( n => setTimeout(() => result.push(n), n));
Run Code Online (Sandbox Code Playgroud)

有趣的是因为在js中setTimeout是异步的,所以如果你等待足够的时间,result就会对数组进行排序.确定性仅取决于数据的值而不取决于输入的大小,所以我不知道如何确定这种方法的Big-O(时间复杂度).

javascript complexity-theory big-o time-complexity

5
推荐指数
1
解决办法
125
查看次数