最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
运算代码如下:
class Solution {
public: int maxSubArray(vector<int>& nums)
{if(nums.size()==0) return NULL;
int max=nums[0];
int sum=0;
for(int i=0;i<nums.size();i++)
{ sum=0;
for(int j=i;j<nums.size();j++)
{ sum+=nums[j];
if(sum>max) max=sum;
}
}
return max;
}
};
此代码首先判断了数组是否是空的,这个要不要随你了。然后定义max是用来存储最大值的,sum是用来求和的。首先循环数组长度次数的i,在i里面再次循环数组长度次数的j,目的是用来找出最大的和,所以做一下简单的判断,一直不断的找出最大的和,最终返回即可。
像这样的暴力做法,运算的确很费时间。
来源:CSDN
作者:想扣篮的Phineas
链接:https://blog.csdn.net/BryceFei/article/details/104590400