快捷导航

一个分摊算法的问题?

设置一个数组,输入n个大小不同数,然后把这些数分成m份,怎么才能让所有份之间的数目差之和最小?
例如[1,2,5,6,9,2,546,312,26,23],然后分成两份,怎么让这两份每份加起来,然后做差能最小?(每份的个数不用相等)

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

vararr=[1,9,10,13,20],        arr2=[],        b=true,compare=0,str=[],x=0;//次数arr.sort(function(a,b){        //先排序returna-b;        });arr2.push(arr.pop());//先推入最大的一个,console.log(arr);console.log(arr2);while(b&&arr.length>=1){        letnum1=arr.reduce(function(){                returnarguments[0]+arguments[1];        }),        num2=arr2.reduce(function(){                returnarguments[0]+arguments[1];                })letnum=num1-num2;console.log("第"+(x++)+"次num1--"+num1,"num2--"+num2);compare=num;if(num1
回复

使用道具 举报

111502sjmmxwhnmenenn66.jpg
不知道是不是这个意思、、、
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP