整型数组,元素有正数和负数。数组中一个或连续的多个整数组成一个子数组,求所有子数组中最大值。 动态规划, 状态转移方程,max[].size = nums.size() max[i]= max[i-1]+nums[i],if max[i-1]>0 nums[i], if max[i-1]<=0 这样 ...
分类:
编程语言 时间:
2016-06-23 23:37:20
阅读次数:
169
剑指OFFER之最大子向量和(连续子数组的最大和) 题目描述: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天JOBDU测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并 ...
分类:
编程语言 时间:
2016-05-28 19:16:23
阅读次数:
141
问题: 求解数组中连续一段子数组和的最大值。例如:{31,-41,59,26,-53,58,97,-93,-23,84},最大值为59+26-53+58+97=187 思路: 计算出任意i到j之间连续子数组的和再比较必然能得到最大值,但时间复杂度为O(n^2),我们希望能找出线性时间的算法。 我们注 ...
分类:
编程语言 时间:
2016-05-19 21:15:47
阅读次数:
178
题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?思路一:
要注意...
分类:
编程语言 时间:
2016-05-13 04:14:13
阅读次数:
187
题目:输入一个整数数组,数组里有正数也有负数。数组中一个或连续的多个整数组成一个子数组。求所有自数组的和的最大值。要求时间复杂度为O(n)。 例如输入数组为{1,-2,3,10,-4,7,2,-5},和最大的子数组为{3,10,-4,7,2},因此输出该子数组的和为18. 解法一:举例分析数组的规律 ...
分类:
编程语言 时间:
2016-05-11 22:00:07
阅读次数:
195
28. 连续子数组的最大和 输入一个整数数组,数组里面有正数也有负数。数组中一个或连续多个整数组成的一个子数组。求所有子数组的和的最大值,要求时间复杂度O(n) 例如输入的数组为{1, -2, 3, 10, -4, 7, 2, -5},和最大的子数组为{3, 10, -4, 7, 2}。因此输出为该 ...
分类:
其他好文 时间:
2016-05-10 18:43:16
阅读次数:
132
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1 ...
分类:
编程语言 时间:
2016-04-06 02:07:45
阅读次数:
161
在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。你会不会被他忽悠住?..
分类:
编程语言 时间:
2016-03-30 16:37:42
阅读次数:
158
题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,...
分类:
编程语言 时间:
2016-01-25 20:55:51
阅读次数:
145
思路来自算法导论,将数组平分为左右两个子数组,那么最大子数组可能在左边的子数组中,也有可能在右边的子数组中,还有可能跨过中间的元素,只有这三种情况。对于前两种情况,可以使用递归求解,对于第三种情况,可以做到用线性时间复杂度的函数来求解,详见代码。#include #include using nam...
分类:
编程语言 时间:
2015-12-27 17:53:44
阅读次数:
191