标签: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