2013年3月19日
摘要: 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:序列:-2 11 -413 -5 -2,则最大子序列和为20。序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。 1.对这个问题,有一个相对复杂的O(NlogN)的解法,就是使用递归。该方法我们采用“分治策略”(divide-and-conquer)。在我们例子中,最大子序列可能在三个地方出现,或者在左半部,或者在右半部,或者跨越输入数据的中部而占据左右两部分。前两种情况递归求解,第三种情况的最大和可以通过求出前半部分最大和(包含前半部分最后一个元素)以 阅读全文
posted @ 2013-03-19 14:43 在大地画满窗子 阅读(294) 评论(0) 推荐(0) 编辑