一、题目概述:有一个没有排序,元素个数为2N的正整数数组。要求把它分割为元素个数为N的两个数组,并使两个子数组的和最接近。假设数组A[1..2N]所有元素的和是SUM。模仿动态规划解0-1背包问题的策略,令S(k, i)表示前k个元素中任意i个元素的和的集合。显然:S(k, 1) = {A[i] |...
分类:
编程语言 时间:
2015-04-26 10:44:06
阅读次数:
138
题目描述:
有一个没有排序,元素个数为2n的正整数数组,要求:如何能把这个数组分割为元素个数为n的两个数组,并使两个子数组的和最接近。
分析:
题目的本质就是要从2n个整数中找出n个,使得它们的和尽可能地靠近所有整数之和的一半。
解法一和二:
伪代码如下:
定义:Heap[i]表示存储从arr中取i个数所能...
分类:
编程语言 时间:
2015-04-26 09:26:23
阅读次数:
158
#includeusing namespace std;void max(int row,int col){ int ** a=new int*[row+1]; int ** b=new int*[row+1]; int h;//用于每一个一维数组上已经相加元素的个数够一个环则开始...
分类:
编程语言 时间:
2015-04-25 16:39:18
阅读次数:
199
找出一个整数数组中子数组之和的最大值,例如:数组[1,-2,3,5,1],返回 8 (因为符合要求的子数组是[3,5]);数组[1,-2,3,-8,5,1],返回 6 (因为符合要求的子数组是[5,1]);数组[1,-2,3,-2,5,1],返回 7 (因为符合要求的子数组是[3,-2,5,1])。...
分类:
其他好文 时间:
2015-04-24 15:47:05
阅读次数:
126
先写上代码:
#include
using namespace std;
typedef struct maximum
{
int left;
int right;
int sum;
}Maximum;
Maximum* FIND_MAX_CROOSING_SUBARRAY(int *A,int low,int mid,int high);
Maximum* FIND_MAXI...
分类:
编程语言 时间:
2015-04-24 14:19:44
阅读次数:
201
解法一:
先明确题意:
1.题目说的子数组,是连续的。
2.题目只需要求和,并不需要返回子数组的具体位置。
3.数组的元素是整数,所以数组可能只包含有正整数,零,负整数。
举几个例子:
数组:[1,-2,3,5,-3,2]应返回8.
数组:[0,-2,3,5,-1,2]应返回9。
数组:[-9,-2,-3,-5,-3]应返回-2。
最直接的方法:...
分类:
编程语言 时间:
2015-04-24 09:16:06
阅读次数:
180
解法一:
最直接的方法,枚举一个矩形区域,然后再求这个矩形区域中元素的和。
int max(int x, int y)
{
return (x > y) ? x : y;
}
//@parameters
//n,行数
//m,列数
int MaxSum(int *A, int n, int m)
{
maximum = -INF;
for (i_min = 1; ...
分类:
编程语言 时间:
2015-04-24 09:07:47
阅读次数:
214
1.实验要求 随机产生一个二维整形数组,数组里有正数也有负数。 二维数组首尾相接,象个一条首尾相接带子一样。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。2.实验思路 先随机产生一个二维数组; 二维数组的第一列移动到最后一列,求最大的子数组...
分类:
编程语言 时间:
2015-04-24 08:57:41
阅读次数:
134
设计思路:因为之前做过二维数组的和环形一维数组的,所以第一感觉就是能不能把这两种整改一下结合起来,所以采用的做法就是将二维环形变化为一维环形,在此采用的方法是从第一行开始,第一行计算出最大子数组,然后第一行和第二行相加为一维计算最大子数组,然后第一行、第二行和第三行,以此类推,最后将各子数组的最大值...
分类:
编程语言 时间:
2015-04-23 23:26:34
阅读次数:
241
设计思想:综合了前面一维数组成环和二维数组求最大子数组的思想。屏幕截图::总结:把做过的程序封装成一个个的接口,当使用时直接调用即可。源代码://jiangzhongxi2015/4/16#includeusingnamespacestd;voidmax(introw,intcol){int**a....
分类:
编程语言 时间:
2015-04-23 21:39:38
阅读次数:
175