最大子数组和
1.思路:判断目前的总和值是否小于新加入的数组值(a[i+1]),如果小于则抛弃之前的 sum重新赋值为a[i+1]。
class Solution {
public:
int maxSubArray(vector<int>& nums) {
int max,sum,len;
len=nums.size();
max=nums[0];//最大初始化为数组第一个数
sum=max;
for(int i=0;i<len-1;i++)
{
sum+=nums[i+1];
if(sum<=nums[i+1])
{
sum=nums[i+1];
if(sum>max)
{
max=sum;
}
}
if(sum>max)
{
max=sum;
}
}
return max;
}
};
2.思路是分治法 ,这道题其实大可不必用到这个(其实是 人家不会分治法,看不太懂官方答案嘤嘤嘤)