子数组的最大累加和
子数组的最大累加和问题
http://www.nowcoder.com/questionTerminal/554aa508dd5d4fefbf0f86e5fe953abd
看了前面的解答,都有问题,自测调试用示例1的输入输出都通过不了。我的想法是:
总的来说,解题思路就是从前往后推,要保证每个位置的值都起码比原本的大。注意每次都要用m保存当前时刻的最大累积和,最后直接返回就ok。
class Solution {
public:
int maxsumofSubarray(vector<int>& arr) {
int m = arr[0]; // 保存最大累加和
for(int i = 1 ; i<arr.size() ; i++)
{
arr[i] = max(arr[i] , arr[i-1]+arr[i]);
m = max(m, arr[i]);
}
return m;
}
};
查看10道真题和解析
老板电器公司氛围 197人发布