从n个数组中选择m个数字,使它们的总差异最小

cra*_*im5 5 arrays sorting algorithm knapsack-problem

在古老的城市中,有n座塔楼的楼层数量可变.我们必须在它们上面建造地板,以便n个塔(n> = m)中的至少m个具有相同的高度.编写一个函数来计算需要为m个楼层建造的最小楼层数量.

示例:给定一个数组(1,5,4,2,1),每个元素代表该塔中的楼层数,m = 3,该函数应该返回2,因为我们必须在索引0和塔上建立1层楼4所以3座塔的高度相等.功能定义如下

public Integer calcMinFloors(Integer[] towers, int m);
Run Code Online (Sandbox Code Playgroud)

gna*_*729 0

您可以按身高升序或降序排序,其余的都很简单。