题解 | #连续最大和#
连续最大和
https://www.nowcoder.com/practice/5a304c109a544aef9b583dce23f5f5db
#include <stdio.h> /*获取连续最大数组和*/ int max_sum(int *data, int a) { int sum=data[0]; //连续最大数组和 int temp_sum=data[0]; //当前和值 for(int i=0;i<a;i++) { temp_sum=(temp_sum > 0)? temp_sum+data[i] : data[i]; if(temp_sum>sum) //经过一次运算后,判断是否需要替换掉最大值 sum=temp_sum; } return sum; } int main() { int a; scanf("%d",&a); int data[a]; for(int i=0;i<a;i++) { scanf("%d",&data[i]); } int max=max_sum(data, a); printf("%d\n",max); return 0; }