求一个算法,把一组数据切成两组数据,使两组数据和之差的绝对值最小? 另外作为扩展,请考虑分成n组的情况。

求一个算法,比如我传一个数组{10,11,9,8,12,13,9,9},要返回两个数组{10,9,8,13}{12,11,9,9},要让这两个数组的值…
关注者
266
被浏览
68,881

14 个回答

可以转化为背包问题

假设数组和为sum,要求两个子数组差最小,就是用数组里的数去填满一个容量为sum/2的背包。。。

背包问题。背包容量是总重量一半,尽可能装满这个背包,结果就是差值最小。如果之前不了解背包,可以查查 “背包九讲”,搞过竞赛的人都应该知道,这个是可以用动态规划解决的,数据量小的话也可以用回溯。