int maxSubArray(int* nums, int numsSize){
//看了题解的贪心,应该就是之前数组和小于0,sum重置为0
//贪在sum如果是负数一定会拉低最大和,所以为负数时,重置为0
int sum=0;
int result=INT_MIN;
for(int i=0;i<numsSize;++i)
{
sum+=nums[i];//统计之前的和,小于0重置为0
result=max(result,sum);//记录最大的和
if(sum<0)
{
sum=0;
}
}
return result;
}
int max(int a,int b)
{
return a>b?a:b;
}
贪心解决leetcode53题
最新推荐文章于 2024-08-02 16:56:20 发布