最大子阵列和
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最大子阵列和相关的知识,希望对你有一定的参考价值。
最大和子数组问题在于找到数组或整数列表中的连续子序列的最大和:
maxSequence([-2, 1, -3, 4, -1, 2, 1, -5, 4])
// should be 6: [4, -1, 2, 1]
简单的情况是当列表仅由正数组成时,最大和是整个数组的总和。如果列表仅由负数组成,则返回0。
空列表被认为具有零最大和。请注意,空列表或数组也是有效的子列表/子阵列。
var maxSequence = function(arr){
var max=0;
if(arr.length==0){
return 0;
}
for(var i=0;i<arr.length;i++){
var sum=arr[i];
for(var j=i+1;j<arr.length;j++){
sum+=arr[j];
if(sum>max){
max=sum;
}
}
}
return max;
}
思路:通过循环可以获取arr中所有的值,先设置一个最大值,给数组中的每一位从前向后增加的计算,每一次计算都对比这个值与最大值的大小,即可得到最大子阵列和
以上是关于最大子阵列和的主要内容,如果未能解决你的问题,请参考以下文章