lc53-最大子序和

#include<stdio.h>
int maxSubArray(int num[],int n){//假设sum<=0,那么后面的子序列肯定不包含目前的子序列,所以令sum = num;
    //如果sum > 0对于后面的子序列是有好处的。res = max(res, sum)保证可以找到最大的子序和。
    int sum=0,res=num[0];
    for(int i=0;i<n;i++){
        if(sum>0){
            sum+=num[i];
        }
        else{
            sum=num[i];
        }
        res=max(sum,res);
    }
    return res;
}
void main(){
    int a[20];
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        
            scanf("%d",&a[i]);
        
    }
    printf("%d",maxSubArray(a,n));
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容