标签:ret i++ https href 位置 ++ tps subarray ref
int maxSubArray(int* nums, int numsSize){
if(numsSize==0)
return 0;
if(numsSize==1)
return nums[0];
int *dp=(int *)malloc(sizeof(int)*numsSize);
dp[0]=nums[0];
for(int i=1;i<numsSize;i++)
{
dp[i]=(dp[i-1]+nums[i])>nums[i]?(dp[i-1]+nums[i]):nums[i];
}
int max=dp[0];
for(int j=1;j<numsSize;j++)
{
if(max<dp[j])
{
max=dp[j];
}
}
return max;
}
本难点在于找到状态转移方程,
dp[i] - 表示到当前位置 i 的最大子序列和
状态转移方程为: dp[i] = max(dp[i - 1] + nums[i], nums[i])
初始化:dp[0] = nums[0]
标签:ret i++ https href 位置 ++ tps subarray ref
原文地址:https://www.cnblogs.com/KIROsola/p/13595566.html