标签:
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 };
标签:
原文地址:http://www.cnblogs.com/aguai1992/p/4643066.html