题目:
有一个整数数组n,a和b是n里两个互不相交的子数组。返回sum(a)+sum(b)的最大值。
分析:
新建两个数组left和right,left[i]表示n[0:i]的连续子数组的最大和,right[i]表示n[i:length-1]的连续子数组的最大和。left[i]+right[i+1]的最大值就是答案。
int SumOfTwoSubarray(const ...
分类:
编程语言 时间:
2015-08-31 01:16:13
阅读次数:
328
Leetcode上有一个Max Sum问题,题目的描述很简单,即对于一个输入的数组,求其连续子数组的最大和。比如说,A={ 6,-1,5,4,-7},那么其连续子数组的最大和为6
+ (-1) +5 + 4 = 14.
分析:
这是很简单的动态规划题,动态规划做多了,第一个想法就是用一个一维数组记录以每个元素为结尾的子序列的最大和,然后再扫描一遍这个数组,以获取最大值。但是仔细分析一下,其...
分类:
其他好文 时间:
2015-08-26 22:23:51
阅读次数:
141
题目:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。思路:保存两个值:当前...
分类:
编程语言 时间:
2015-08-11 22:49:41
阅读次数:
191
题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。
求所有子数组的和的最大值。要求时间复杂度为O(n)
例如输入的数组为{1,-2,3,10,-4,7,2,-5}...
分类:
编程语言 时间:
2015-08-08 22:57:46
阅读次数:
599
bool g_InvalidInput = false;
int FindGreatestSumOfSubArray(int *pData, int nLength)
{
if ((pData == NULL) || (nLength
{
g_InvalidInput = true;
return 0;
}
g_InvalidInput = false;
int nCurSum...
分类:
编程语言 时间:
2015-07-09 21:32:12
阅读次数:
246
题目:输入一个整型数组,数组里有正数也由负数。数组中一个或者连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为 O(n)。例如输入的数组为{1,-2,3,10,-4,7,2,-5},其最大的子数组为{3,10,-4,7,2},因此所有子数组的和的最大值为 18。应用动态规划法:...
分类:
编程语言 时间:
2015-07-07 22:44:50
阅读次数:
190
题目:输入一个整型数组,数组里有正数也有负数。数组中一个或多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(N)。参见LeetCode-Maximum Subarray。
分类:
编程语言 时间:
2015-07-05 16:40:36
阅读次数:
124
题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。例子说明:
解题思路:
解法一:举例分析数组的规律
解法二: 应用动态归划法...
分类:
编程语言 时间:
2015-07-03 09:13:32
阅读次数:
156
题目连接如下:http://www.acmerblog.com/max-sum-rectangle-in-a-matrix-5955.html一维数组的连续子数组的最大和题目:输入一个整型数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间负责度为...
分类:
编程语言 时间:
2015-05-12 15:18:07
阅读次数:
147
输入一个整形数组,数组中有正数也有负数。数组中的一个或连续的多个正数组成一个子数组。球所有子数组的和的最大值。
如输入{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2},输出应该是18
这是在《剑指offer》上看到的题目,这道题可以在O(n)的时间复杂度内求解,而且这个问题可以是很多更加复杂问题的子问题。所以记录加深下印象。
分析:
以上面列出的{1,-...
分类:
编程语言 时间:
2015-05-01 14:49:28
阅读次数:
190