1.正常传统方法
int sum = 0;
int ans = 0;
for(int i = 0;i<nums.length;i++){
if(sum>0){
sum+=nums[i];
}
else sum = nums[i];
ans = Math.max(ans,sum);
}
return ans;
动态规划方法
int ans = nums[0];
int[] dp = new int[nums.length];
dp[0] = nums[0];
for(int i = 1;i<nums.length;i++){
dp[i] = Math.max(dp[i-1]+nums[i],nums[i]);
ans = Math.max(ans,dp[i]);
}
return ans;