最大连续子数组和 一.问题描述 给定n个整数(可能为负数)组成的序列a "1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1 ...
分类:
其他好文 时间:
2018-03-27 23:57:52
阅读次数:
387
题目要求 最大连续子数组和(最大子段和) 问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+ ...
分类:
其他好文 时间:
2018-03-24 19:27:18
阅读次数:
175
问题描述:输入是一个大小为n的整型数组,要求输出数组的任何连续子数组中的最大值。例如:输入的数组为array[10] = {31,-41,59,26,-53,58,97,-93,-23,84};输出最大连续子数组和为array[2...6]:187 算法1:对所有满足0<=i<=j<=n的(i,j) ...
分类:
编程语言 时间:
2018-02-25 14:28:16
阅读次数:
215
内容全部来自编程之法:面试和算法心得一书,实现是自己写的使用的是java 题目描述 输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值,要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, ...
分类:
编程语言 时间:
2018-01-11 20:38:05
阅读次数:
195
题目描述:现给出一个N*N矩阵,要求求出拥有最大和的子矩阵的和。 例如: 这样的一个矩阵,最大子矩阵的和为15; 此题可以让人联想到求最大连续子数组,求最大子数组在上一篇文章中http://www.cnblogs.com/tz346125264/p/7560708.html。 分析:最大子矩阵可以看 ...
分类:
编程语言 时间:
2017-09-21 14:47:26
阅读次数:
155
思想: 经过分析可得,若子数组和为负数就已经代表这个子数组不可能为最大子数组了,相反若子数组和为正,则将最大的和比较出来便可。 故可直接遍历该数组一旦子数组和已为负数,则置为0,否则与之前的最大值进行比较,得出目前最大值。 上代码: ...
分类:
编程语言 时间:
2017-09-20 14:21:26
阅读次数:
115
一、题目: 这是一道考的烂的不能再烂的题目,但是依然有很多公司乐于将这样的题目作为笔试或面试题,足见其经典。 问题是这样的:一个整数数组中的元素有正有负,在该数组中找出一个连续子数组,要求该连续子数组中各元素的和最大,这个连续子数组便被称作最大连续子数组。比如数组{2,4,-7,5,2,-1,2,- ...
分类:
编程语言 时间:
2017-09-17 23:38:33
阅读次数:
397
连续子数组最大和,可考虑publicclassSolution{
publicintmaxSubArray(int[]nums){
intlen=nums.length;
if(nums==null||len==0)return0;
intMAX=nums[0];
intcurSum=nums[0];
for(inti=1;i<len;i++){
if(curSum>0){
curSum+=nums[i];
}else{
curSum=nums[i];
}
MAX=Math..
分类:
编程语言 时间:
2017-09-01 09:53:07
阅读次数:
169
在线性时间内非递归的求数组的最大连续子数组(连续和最大的子数组)。 题目给出思路为数组A[1...j+1]的最大和子数组,有两种情况:a) A[1...j]的最大和子数组; b) 某个A[i...j+1]的最大和子数组,但思考很久没有理解如何用这个思路设计线性时间算法,希望有人能给予指点。 (i点是 ...
分类:
编程语言 时间:
2016-11-02 23:41:34
阅读次数:
296
输入一个数组,求连续子数组中乘积最大的 这个和最大连续子数组很相似,但是由于相加和乘积的差异性所有有差别http://www.cnblogs.com/0summer/p/5822908.html 一个数(正数、零、负数)乘以一个负数会变得更小,所以负数对当前元素来说是负影响,但是这个负数可能对于后面 ...
分类:
其他好文 时间:
2016-08-31 20:42:21
阅读次数:
323