【C】最大子列和问题
来源:互联网 发布:业务数据分析师要求 编辑:程序博客网 时间:2024/06/05 15:33
程序代码:
#include<stdio.h>#define MAX 100000long long maxSeq(int num[],long long n){ long long tmp=0,max=0; long long i=0; for(i=0;i<n;i++) { if(tmp < 0) tmp = num[i]; else tmp+=num[i]; if(max<tmp) max=tmp; } return max; }int main(){ long long n,i=0; int num[MAX]; scanf("%lld",&n); for(;i<n;i++) scanf("%lld",&num[i]); long long m=maxSeq(num,n-1); if(m>0) printf("%lld",m); else printf("0"); return 0;}
思路解析:
从数组的第一个元素开始,往后累加,a0、a0+a1、a0+a1+…+ax每循环一次,比较前n项的序列和与max的大小,更新max的值。如果前n项和小于0,则抛弃该序列,从第n+1项开始累加,重复上述过程,知道所有元素遍历一次。得到的max即为最大序列和。
运行结果:
0 0
- 【C】最大子列和问题
- 【C/C++】Maximum Subsequence Sum/最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 最大子列和问题
- 元素获取与事件绑定
- HDU.2089 & HDU.3555
- Filthy Rich(数塔)
- WebService学习总结十 使用Spring发布WebService并添加拦截器
- 朱茵近况微博自曝怀孕消息
- 【C】最大子列和问题
- java设计模式六大原则
- mysql创建外键
- 欢迎使用CSDN-markdown编辑器
- ATM
- HDU 5056 Boring count(窗口滑动法或尺缩法)
- 缓存框架Guava Cache部分源码分析
- javascript2-分支结构
- HDU 1166敌兵布阵+NOJv2 1025: Hkhv love spent money(线段树单点更新区间查询)