题目:
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
思路:
1.需要定义最大子序数的和为sum,最大值max
2.如果sum>0,则需要将遍历的数相加。
3.需要比较sum与max的大小,将其最大的值给max
4.如果sum<0,则sum=0(没有用将被舍弃,并赋值为0,从这里在重新开始)
5.返回结果
代码如下:
var maxSubArray = function(nums) {
var sum=0;
var max=nums[0];
for(i=0;i<nums.length;i++){
sum+=nums[i];
max=Math.max(sum,max)
if(sum<0){
sum=0;
}
}
return max;
};
原题来自力扣