Maximum Subarray

https://leetcode.com/problems/maximum-subarray/

动态规划:

用res数组来记录包含了每个点的连续数组的和的最大的情况解的情况,后续的每次计算参考前面的计算结果。

 1 class Solution {
 2 public:
 3     int maxSubArray(vector<int>& nums) {
 4        //动态规划问题
 5        int size=nums.size();
 6        int * res=new int[size];
 7        
 8        res[0]=nums[0];
 9        
10        for(int i=1;i<size;i++)
11        {
12            if(res[i-1]<0)
13            {
14                res[i]=nums[i];
15            }
16            else
17            {
18                res[i]=nums[i]+res[i-1];
19            }
20        }
21        int resNum=-99999;
22        for(int i=0;i<size;i++)
23        {
24            if(resNum<res[i])
25             resNum=res[i];
26        }
27        return resNum;
28        
29     }
30 };
原文地址:https://www.cnblogs.com/aguai1992/p/4643066.html