首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设一个整形一维数组里有n(n>1)个整数,在这些整数中可以有正数也可以有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。设计一个在时间和空间两方面尽可能高效的算法,输出所有子数组的和的最大值。例如一维数组中的整数为1,—2,3,10,
设一个整形一维数组里有n(n>1)个整数,在这些整数中可以有正数也可以有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。设计一个在时间和空间两方面尽可能高效的算法,输出所有子数组的和的最大值。例如一维数组中的整数为1,—2,3,10,
admin
2017-04-28
60
问题
设一个整形一维数组里有n(n>1)个整数,在这些整数中可以有正数也可以有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。设计一个在时间和空间两方面尽可能高效的算法,输出所有子数组的和的最大值。例如一维数组中的整数为1,—2,3,10,—4,7,2,—5,则和最大的子数组为3,10,—4,7,2,该子数组的和为18。要求:
根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
选项
答案
算法实现如下: void FindGreatestSumOfSubArray(int a[],n) { int sum; //sum用来记录子数组的和 int max; //max用来记录最大子数组的和 int i; max=a[0]; //将max的值初始化为数组中的第一个元素的值 sum=0; //将sum的值初始化为0 for(i=0;i<n;i++) { sum+=a [i]; //计算子数组的和 if( sum>max) //如果当前计算的子数组的和比之前记录的最大子数组的和大的 话,则更新max的值 max=s um; if (sum<0) //如果当前计算的子数组的和小于0,则将sum置0 sum=0; } printf("%d\n",max); }
解析
转载请注明原文地址:https://kaotiyun.com/show/kWRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
简述斯巴达克起义的原因、大体经过、意义和失败原因。
上海机器织布局
【《关于正确处理人民内部矛盾的问题》】
《关于建国以来党的若干历史问题的决议》
()是一部上起传说中的黄帝,下迄汉武帝时期的中国通史,是中国历史上第一部内容完整、结构周密的历史著作。
1923年纳粹党魁希特勒发动了“啤酒馆暴动”,对此叙述不正确的一项是()。
林则徐的反英国侵略的策略思想不包括()。
“两个凡是”
全国高校院系调整的具体时间是()。
在明朝中叶,农业生产发生了一件非常重要的事件——(),对于当时的食物结构产生了重大的影响
随机试题
节律性起始技术是属于
有关HELLP综合征,以下哪项是错误的
中国现行版药典是
下列最适合使用美托洛尔治疗的疾病是
阿托品用于解除消化道痉挛时,常可引起口干,属于氯霉素或抗肿瘤药所致的骨髓抑制,属于
甲向首饰店购买钻石戒指二枚,标签表明该钻石为天然钻石,买回后被人告知实为人造钻石。甲遂多次与首饰店交涉,历时1年零6个月,未果。现甲欲以欺诈为由诉请法院撤销该买卖关系,其主张能否得到支持?( )。
货币市场基金同时以股票、债券为主要投资对象,通过不同资产类别的配置投资,实现风险和收益上的平衡。()
从绝对量的构成看,资本成本包括()。
把下面的六个图形分为两类,使每一类图形都有各自的共同特征或规律,分类正确的一项是:
设二维随机变量(X,Y)满足E(XY)=EXEY,则X与Y
最新回复
(
0
)