题解 | #连续子数组的最大和#
连续子数组的最大和
https://www.nowcoder.com/practice/459bd355da1549fa8a49e350bf3df484
#include <climits>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param array int整型vector
* @return int整型
*/
int FindGreatestSumOfSubArray(vector<int>& array) {
int last_value = 0;
int cur_value = 0;
int max_value = INT_MIN;
for(int i = 0;i<array.size();i++)
{
if(i == 0){
last_value = array[i];
max_value = last_value;
}
else{
if(last_value <= 0)
{
cur_value = array[i];
max_value = max(cur_value,max_value);
last_value = cur_value;
}
else{
cur_value = last_value + array[i];
max_value = max(cur_value,max_value);
last_value = cur_value;
}
}
}
return max_value;
// write code here
}
};
记录以当前数字结尾的连续子数组的最大和。采用动态规划。

查看15道真题和解析