题解 | #连续最大和#

连续最大和

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;
}

全部评论

相关推荐

06-28 22:48
已编辑
广东金融学院 Java
小浪_Coding:学院本+这俩项目不是buff叠满了嘛
点赞 评论 收藏
分享
07-05 16:23
门头沟学院 Java
mengnankk:我投了300,约了5 6个面试。感觉项目写的太多了。一个项目就写五六个亮点,不是把整个项目的功能描述下。其他的没啥,简历看起来有点长
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务