数组:正整数数组分成2组使其和的差的绝对值最小

Posted hedgehog小子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组:正整数数组分成2组使其和的差的绝对值最小相关的知识,希望对你有一定的参考价值。

【问题描述】

把正整数数组 a[N] 中的N个元素任意划分成2部分,使得这2部分和的差的绝对值最小。

【算法思路】

问题可转换成,从数组中找出一组数据,使之尽可能等于数组和sum的一半。那么必然有他一半的和是 <= sum/2,接下来用0-1背包问题来解!

现在数组元素即物品,元素值即使是背包问题中的物品weight,也是物品的value,即二者一样,背包容量C = sum/2。问题就是现在满足背包容量情况下,装哪些物品,使得其价值之和最大。

【代码】

参见本博客的 “DP:0-1背包问题“   http://www.cnblogs.com/JesusAlone/p/7465878.html

 

以上是关于数组:正整数数组分成2组使其和的差的绝对值最小的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 2035. 将数组分成两个数组并最小化数组和的差

2022-01-18:将数组分成两个数组并最小化数组和的差。 给你一个长度为 2 * n 的整数数组。你需要将 nums 分成 两个 长度为 n 的数组,分别求出两个数组的和,并 最小化 两个数组和之

将数组分成两个数组并最小化数组和的差(折半搜索+二分)

华为机试真题 C++ 实现乱序整数序列两数之和绝对值最小

华为OD机试真题Java实现两数之和绝对值最小真题+解题思路+代码(2022&2023)

45 最大子数组差