为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

望远 2017-01-14 16:53:38
已知数组含有n个元素,请将这n个元素划分为两个数组,使得两个数组的元素之和sum1,sum2之间的差值m最小,输出划分好的数组。例如原始数组 int arr[]={1,1,3,5,7,3} 那么划分出来的两个数组分别是 int arr1[]={3,7} int arr2[]={1,1,3,5} 这样就可以使差值达到最小值0
查看完整描述

2 回答

?
rookie_cainiao3830141

TA贡献11条经验 获得超0个赞

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

查看完整回答
反对 回复 2017-01-16
  • 2 回答
  • 1 关注
  • 2913 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信