首页 > 其他 > 详细

最大子列和

时间:2019-03-08 15:35:46      阅读:138      评论:0      收藏:0      [点我收藏+]

mooc浙大数据结构网课  

  最大子列和问题

  算法1.简单粗暴法

#include <stdio.h>

int main(int argc, char **argv) {
int n;
scanf("%d",&n);
int List[n];
for(int i=0;i<n;i++){
scanf("%d",&List[i]);
}
int x,y,z;
int MaxSum=0,Sum=0;
for(x=0;x<n;x++){
Sum = 0;
for(y=x;y<n;y++){
Sum += List[y];
if(Sum > MaxSum) MaxSum = Sum;
}
}
printf("%d",MaxSum);
return 0;
}

  算法2.在线处理法

#include <stdio.h>

int main(int argc, char **argv) {
    int n;
    scanf("%d",&n);
    int List[n];
    for(int i=0;i<n;i++){
        scanf("%d",&List[i]);
    }
    int j;
    int MaxSum=0,Sum=0;
    for(j=0;j<n;j++){
        Sum += List[j];
        if(Sum > MaxSum) MaxSum = Sum;
        else if (Sum < 0 ) Sum = 0;
    }
    printf("%d",MaxSum);
    return 0;
}

  算法3.分而治之

待补充

最大子列和

原文:https://www.cnblogs.com/CANntyield/p/10495716.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!