题解 | 连续子数组最大和
连续子数组最大和
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; }