题目描述
对于一个有正有负的整数数组,请找出总和最大的连续数列。
给定一个int数组A和数组大小n,请返回最大的连续数列的和。保证n的大小小于等于3000。
测试样例:
[1,2,3,-6,1]
返回:6
class MaxSum { public: int getMaxSum(vector<int> A, int n) { // write code here if(A.size() == 0) return 0; int max = INT_MIN; int sum = 0; for(size_t i = 0; i < A.size(); i++){ if(sum < 0) sum = A[i]; else sum += A[i]; if(sum > max) max = sum; } return max; } };
时间: 2024-10-14 19:56:17