题解 | #子数组的最大累加和问题#
子数组的最大累加和问题
http://www.nowcoder.com/practice/554aa508dd5d4fefbf0f86e5fe953abd
class Solution {
public:
/**
* max sum of the subarray
* @param arr int整型vector the array
* @return int整型
*/
int maxsumofSubarray(vector<int>& arr) {
// write code here
/*当前数的与前面所有数(包括当前数)和比较—————大于—————>当前数最大值
*当前数的与前面所有数和比较(包括当前数)—————小于—————>继续累加
*
*/
if(arr.size()==1)return arr[0];
sum = maxVal = arr[0];
for(int count=1;count<arr.size();count++){
sum = sum + arr[count];
if(sum < arr[count]){
sum = arr[count];
maxVal = arr[count];
}else{
maxVal = max(maxVal,sum);
}
}
return maxVal;
}
private:
int maxVal;
int sum;
}; ```

