题解 | 连续子数组的最大和
连续子数组的最大和
https://www.nowcoder.com/practice/459bd355da1549fa8a49e350bf3df484?tpId=13&&tqId=11183&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
入门的动态规划问题:
public class Solution { public int FindGreatestSumOfSubArray(int[] array) { int len = array.length; int[] dp = new int[len]; int max = array[0]; dp[0] = array[0]; for(int i = 1; i < len; i++) { int newMax = dp[i - 1] + array[i]; if(newMax > array[i]) { dp[i] = newMax; } else { dp[i] = array[i]; // dp[i]取array[i]就已经超过了加上前面所有的值 } if(dp[i] > max) { max = dp[i]; } } return max; } }