首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设一个整形一维数组里有n(n>1)个整数,在这些整数中可以有正数也可以有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。设计一个在时间和空间两方面尽可能高效的算法,输出所有子数组的和的最大值。例如一维数组中的整数为1,-2,3,10,
设一个整形一维数组里有n(n>1)个整数,在这些整数中可以有正数也可以有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。设计一个在时间和空间两方面尽可能高效的算法,输出所有子数组的和的最大值。例如一维数组中的整数为1,-2,3,10,
admin
2017-11-20
45
问题
设一个整形一维数组里有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=sum; if(sum<0) //如果当前计算的子数组的和小于0,则将sum置0 sum=0; } printf(’’%d\n’’,max); }
解析
转载请注明原文地址:https://kaotiyun.com/show/SNRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1956年,苏共二十大后,匈牙利大党员和群众强烈要求克服个人崇拜,扩大民主,实行经济改革,一些由知识分子、大学生和干部组成的社团组织纷纷成立,其中最有影响者是()。
1923年纳粹党魁希特勒发动了“啤酒馆暴动”,对此叙述不正确的一项是()。
“我不想变成上帝,或居住在永恒之中,或者把天地抱在怀里,属于人的那种光荣对我就够了。我自己是凡人,我只要求凡人的幸福。”这句话体现的思想是()
下列关于国际联盟及其活动的叙述,正确的是()。
第一国际成立前,各国无产阶级强烈要求加强国际团结的直接原因是()。
古希腊是西方文明的发源地,古希腊雅典的民主政治则开启了两方民主制度的先河。下列关于雅典民主政治的说法,符合史实的有()。①民主政治时期的雅典没有国王②公民大会是雅典国家的最高决策机构③伯里克利时期,雅典民主政治达到了顶峰④包括妇女在内的
詹天佑自主设计修建了中国第一条铁路是在()。
16世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
随机试题
科学发展观的根本方法是()
20世纪40年代的国统区重要的诗歌流派“七月诗派”是什么?
妊娠高血压征妇女使用硫酸镁解痉时,应停用药物的情况是
关于MEN的描述错误的是
慢性增殖型念珠菌病的临床特征为
A、毒性反应B、继发反应C、药物变态反应D、过度作用E、副作用氯霉素所致的骨髓抑制属于()。
依据我国法律规定,下列有关汇票与支票的相互区别的表述正确的是()
基金管理公司董事会中应当至少有()名独立董事。
《中共中央关于加强党的执政能力建设的决定》指出,要正确处理坚持公有制为主体和促进非公有制经济发展的关系,()。
From:DorothyFieldsTo:JohnEricssonSubject:DueDateDate:February20DearDr.Ericsson,Onceagain,Iwouldliketocon
最新回复
(
0
)