标签:style blog color io ar for sp div on
code:
class Solution { public: int maxSubArray(int A[], int n) { int f=0, result=INT_MIN; for(int i=0; i<n; i++){ f=max(f+A[i], A[i]); result=max(f, result); } return result; } };
分析:
当加入一个元素后的累积和,可能为正数(有利)也可能为负数(有损)。若为正数,则新sum为当前元素加上以前的和,如果为负数,则从新的元素开始。用f=max(f+A[i], A[i])实现。
仅上面的方法不能获得最大和,可用一个变量来维持这个最大和。用result=max(f, result)实现。
标签:style blog color io ar for sp div on
原文地址:http://www.cnblogs.com/vegg117/p/4020195.html