转载请注明出处:http://blog.csdn.net/ns_code/article/details/27103959题目描写叙述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU測试组开完会后,他又发话了:在古老的一维模式识别中,经常须要计算连续子向量的最大和,当向量全为正数...
分类:
其他好文 时间:
2014-07-08 00:51:25
阅读次数:
353
题目:输入一个整型数组,数组里有正数也有负数。数组中一个或者连续的多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)分析:首先需要考虑的条件:数组里有正数也有负数,根据这个条件,从数组第一个元素开始,temp累计相加,当temp增加时,我们就将temp赋值给sum。当temp...
分类:
其他好文 时间:
2014-07-07 23:22:47
阅读次数:
224
连续子数组的最大和 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 输入一个整型数组, 数组里有正数也有负数. 数组中一个或连续的多个整数组成一个子数组.求所有子数组的和的最大值.使用一个数保存当前和, 如果当前和为小于0, 则替换新值, 否则, 递加, 使用一个数保存临时最大值.代码:/*
* main.cpp
*
* Created...
分类:
其他好文 时间:
2014-06-30 17:30:21
阅读次数:
282
题目描述:HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,...
分类:
其他好文 时间:
2014-06-18 19:40:47
阅读次数:
215
/** * 获得连续子数组的最大和 * * @author dfeng * */ private
static long getMax(long a, long b) { return a > b ? a : b; } /** *
获得连续子数组的最大和 * * @param array ...
分类:
其他好文 时间:
2014-06-07 21:21:30
阅读次数:
241
题目描述:
HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?
输入:
输入有多组数据,每组测试数据包括两行。
第一行为一个整数n(0<=n<=100000),当n=0时,输入...
分类:
其他好文 时间:
2014-06-05 01:47:51
阅读次数:
227
出题:预先输入一个整型数组,数组中有正数也有负数;数组中连续一个或者多个整数组成一个子数组,每个子数组有一个和;求所有子数组中和的最大值,要求时间复杂度O(n);分析:时间复杂度为线性表明只允许一遍扫描,当然如果最终的最大值为0表明所有元素都是负数,可以用线性时间O(N)查找最大的元素。具体算法策略...
分类:
其他好文 时间:
2014-05-18 20:21:35
阅读次数:
339
题意:最大连续子序列和,在一个数组中找到和最大的连续子数组
思路:dp, 对于第i个数,有两种选择:把它加入在子数组里,不加入子数组(子数组到此结束)
加不加入子数组,要比较它加入前后子数组的总和是变大了还是变小了,如果变大则加入,变小则不加入
所以,我们需要记录以i-1结尾的子数组的总和,最后的结果在这些总和中取最大的那个
f[i] = max(f[i-1]+a[i],f[i-1]);
max({f[i]})
实现时用两个变量,一个保存f[i-1],一个保存目前为止最大的f[i]
复杂度:时间O(n),空...
分类:
其他好文 时间:
2014-05-14 21:53:14
阅读次数:
250