class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型vector * @return int整型vector */ vector FindGreatestSumOfSubArray(vector& array) { // write code here int left = 0; int max = array[0]; int begin = 0; int end = 0; int begin_pre = 0; vector result; for(int i = 0; i < array.size(); i++){ left += array[i];
if(left > max){
begin_pre = begin;
max = left;
end = i;
}
if(left == max && (end - begin_pre) < (i - begin)){
begin_pre = begin;
end = i;
}
if(left < 0){
left = 0;
// begin_pre = begin; begin = i + 1; } } for(int j = begin_pre; j <= end; j++){ result.push_back(array[j]); } return result; } };