题解 | 连续子数组最大和
连续子数组最大和
https://www.nowcoder.com/practice/1718131e719746e9a56fb29c40cc8f95
#include <stdio.h>
int main() {
int n;
scanf("%d",&n);
int num[n];
for(int i=0;i<n;i++){
scanf("%d",&num[i]);
}
int dp[n];
for(int i=0;i<n;i++){
dp[i]=0;
}
dp[0]=num[0];
for(int i=1;i<n;i++){
if(num[i]>num[i]+dp[i-1]){
dp[i]=num[i];
}else{
dp[i]=num[i]+dp[i-1];
}
}
int max=dp[0];
for(int i=0;i<n;i++){
if(dp[i]>max){
max=dp[i];
}
}
printf("%d",max);
return 0;
}

