简单明了的动态规划——连续子数组的最大和
连续子数组的最大和
http://www.nowcoder.com/questionTerminal/459bd355da1549fa8a49e350bf3df484
简单的规划的习题,状态只需要跟前一个状态有关系,不需要dp Table直接变量存储,
时间复杂度O(n),空间复杂度O(1)
第一步:判断 当前数值array[i]和通过状态转移得到array[i]+max哪一个大
第二步:判断当前最大值和目前最大值,哪一个大
public class Solution { public int FindGreatestSumOfSubArray(int[] array) { int result =array[0]; int max=array[0]; for(int i=1;i<array.length;i++){ max=Math.max(array[i],array[i]+max); result=Math.max(result,max); } return result; } }