题目描述
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
方法一:暴力法
class Solution {public: int maxSubArray(vector<int>& nums) {
int max=INT_MIN;
int len=int(nums.size());
for(int i=0;i<len;i++)
{
int sun=0;
for(int j=i;j<len;j++)
{
sun+=nums[j];
if(max<sun)
{
max=sun;
} } } return max; }};
方法二:贪心算法
class Solution {public: int maxSubArray(vector<int>& nums)
{
int max=INT_MIN;
int sum=0;
int len=int(nums.size());
for(int i=0;i<len;i++)
{
sum+=nums[i];
if(max<sum)
{
max=sum;
}
if(sum<0)
{sum=0;}
}
return max; }};