题解 | #连续子数组最大和#
连续子数组最大和
https://www.nowcoder.com/practice/1718131e719746e9a56fb29c40cc8f95
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin>>n;
vector<int> nums(n, 0);
for(int i = 0; i < n; i++){
cin>>nums[i];
}
vector<int> dp(n, 0);
if(n == 1){
cout<<nums[0];
return 0;
}
dp[0] = nums[0];
int m = nums[0];
for(int i = 1; i < n; i++){
dp[i] = max(nums[i] + dp[i - 1], nums[i]);
m = max(m, dp[i]);
}
cout<<m;
return 0;
}
// 64 位输出请用 printf("%lld")
