首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
在数组中,某个数字减去它右边的数字得到一个数对之差。求所有数对之差的最大值。例如,在数组{2,4,1,16,7,5,11,9}中,数对之差的最大值是11,是16减去5的结果。 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C+
在数组中,某个数字减去它右边的数字得到一个数对之差。求所有数对之差的最大值。例如,在数组{2,4,1,16,7,5,11,9}中,数对之差的最大值是11,是16减去5的结果。 (1)给出算法的基本设计思想。 (2)根据设计思想,采用C或C+
admin
2018-07-17
39
问题
在数组中,某个数字减去它右边的数字得到一个数对之差。求所有数对之差的最大值。例如,在数组{2,4,1,16,7,5,11,9}中,数对之差的最大值是11,是16减去5的结果。
(1)给出算法的基本设计思想。
(2)根据设计思想,采用C或C++语言描述算法,关键之处给出注释。
(3)说明你所设计算法的时间复杂度。
选项
答案
分治法。 把数组分成两个子数组,其实没有必要拿左边子数组中较小的数字去和右边子数组中较大的数字作减法。可以想象,数对之差的最大值只可能是下面三种情况之一:①被减数和减数都在第一个子数组中,即第一个子数组中的数对之差的最大值;②被减数和减数都在第二个子数组中,即第二个子数组中数对之差的最大值;③被减数在第一个子数组中,是第一个子数组的最大值。减数在第二个子数组中,是第二个子数组的最小值。这三个差值的最大者就是整个数组中数对之差的最大值。 在前面提到的三种情况中,得到第一个子数组的最大值和第二子数组的最小值不是一件难事,但如何得到两个子数组中的数对之差的最大值?这其实是原始问题的子问题,可以递归地解决。下面是这种思路的参考代码: int MaxDiff_Solutionl(int numbers[], unsigned length) { if(numbers==NULL||lenath<2) return 0; int max,min; return MaxDiffCore(numbers,numbers+length—1,&max,&min); } int MaxDiffCore(int* start,int* end,int* max,int* min) { if(end==start) { *max=*min=*start; return 0; } int* middle=start+(end—start)/2; int maxLeft,minLeft; int leftDiff=MaxDiffCore(start,middle,&maxLeft,&minLeft); int maxRight,minRight, int rightDiff=MaxDiffCore(middle+1,end,&maxRight,&minRight); int crossDiff=maxLeft—minRight; *max=(maxLeft>maxRight)?maxLeft:maxRight; *min=(minLeft<minRight)?minLeft:minRight; int maxDiff=(leftDiff>rightDiff)?leftDiff:rightDiff; maxDiff=(maxDiff>crossDiff)?maxDiff:crossDiff; return maxDiff; }
解析
转载请注明原文地址:https://kaotiyun.com/show/F5Ri777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
关于德国工业革命,说法不正确的是()。
中国共产党在过渡时期总路线的主要内容是“一化三改造”,其中“一化”是指()。
隋唐时期实行租庸调制,其中“庸”所起的作用是()
明末清初,著名学者()抗清失败,前往日本讲学,传播中国文化。
解放军渡江战役中横渡长江的东西两个攻击点是()。
1950年,人民政府开始全面调整工商业,采取了对私营工商业的加工订货、向农民收购土副产品、用协商方式解决劳资纠纷等措施。这些措施的主要任务是()
20世80年代,被称为“机器人王国”的国家是()。
系统地阐明道家思想的著作《淮南鸿烈》,也叫《淮南子》,是汉武帝时()集宾客写成的。《淮南子》问世时,黄老思想在政治上已不占支配地位了。
在一个HDLC帧的数据中,如果出现了000111111011这样的流,请问发送到信道上它将会变成()。
现有一个解决无向连通图的最小生成树的一种方法如下:将图中所有边按权重从大到小排序为(el,e2,…,em);i=1;while(所剩边数>=顶点数){从图中删去ei;若图不再连通。则恢复ei;i=
随机试题
人民法院原则上应当公开发生法律效力的判决书、裁定书,供公众查阅。()
局部麻醉药中毒惊厥时首选的解惊药是
混合瘤发生在以下哪个部位最多
A.新的药品不良反应B.所有药品不良反应C.新的和严重的药品不良反应D.C型药品不良反应药品使用说明书中未收载的不良反应,属于()。
报关企业代理其他企业办理海关手续,必须由进出口货物的经营单位出具正式的委托书。这里的经营单位指的是()。
根据规定,基金管理公司的主要股东应具备的条件之一是具有良好的社会信誉,并且在金融监管、自律管理、商业银行等机构无不良记录。()
2014年国务院积极部署落实引导民间投资健康发展的措施,提出要多设“路标”少设“路障”,为民间投资参与市场竞争“松绑开路”。为此,政府应()。①实现自身职能的根本性转变②制定措施规定民间投资流向③履行组织社会主义经济建设的职能④不断扫除限制民间
根据《中华人民共和国义务教育法》的规定,学校不得设()。
Iamoneofthemanycitypeoplewhoarealwayssayingthatgiventhechoicewewouldprefertoliveinthecountryawayfromth
WhatwasMary’sjob?WhatcouldMary’scatsay?Shecouldsay______.
最新回复
(
0
)