快捷导航

将一个数组划分为两个数组满足以下要求。

已知数组含有n个元素,请将这n个元素划分为两个数组,使得两个数组的元素之和sum1,sum2之间的差值m最小,输出划分好的数组。例如原始数组intarr[]={1,1,3,5,7,3}那么划分出来的两个数组分别是intarr1[]={3,7}intarr2[]={1,1,3,5}这样就可以使差值达到最小值0

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

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

回复

使用道具 举报

参与会员1

我说一下我的思路。先求出原始数组元素和的二分之一,然后对元素数组的元素进行分配(这个方法特别麻烦)相加,与那个二分之一的数比较,留下最接近的一组。加之前,对原数组进行排序,然后从最大值开始进行加判断。对于小数组还可以,对大数组就不适合了。仅供参考
回复

使用道具 举报

可能感兴趣的问答

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