首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
将一个数组最开始的若干个元素搬到数组的末尾,称之为数组的旋转。输入一个已排好序数组的一个旋转,求该旋转数组的最小元素。如,数组{3,4,5,1,2}为有序数组{1,2,3,4,5}的一个旋转数组,该数组的最小值为1。 给出算法的基本设计思想。
将一个数组最开始的若干个元素搬到数组的末尾,称之为数组的旋转。输入一个已排好序数组的一个旋转,求该旋转数组的最小元素。如,数组{3,4,5,1,2}为有序数组{1,2,3,4,5}的一个旋转数组,该数组的最小值为1。 给出算法的基本设计思想。
admin
2018-07-17
37
问题
将一个数组最开始的若干个元素搬到数组的末尾,称之为数组的旋转。输入一个已排好序数组的一个旋转,求该旋转数组的最小元素。如,数组{3,4,5,1,2}为有序数组{1,2,3,4,5}的一个旋转数组,该数组的最小值为1。
给出算法的基本设计思想。
选项
答案
算法的基本设计思想: 注意到旋转之后的数组实际上可以划分成两个排序的子数组,且前面的子数组的元素都大于或等于后面子数组的元素,而最小的元素刚好是这两个子数组的分界线。 我们试着用二元查找的思路寻找这个最小的元素: 定义两个指针,分别指向数组的第一个元素和最后一个元素。按照题目旋转的规则,第一个元素应该是大于或等于最后一个元素的。再定义一个指针指向中间的元素,如果该中间元素位于前面的递增子数组,那么它应大于或等于第一个指针指向的元素,此时最小的元素位于右子数组,然后把第一指针指向该中间元素,这样可以在缩小的范围内继续寻找。同样,如果该中间元素位于后面的递增子数组,思路和上面是类似的。 . 按照上述思路,第一个指针总是指向前面递增数组的元素,而第二个指针总是指向后面递增数组的元素。最后,第一个指针将指向前面子数组的最后一个元素,而第二个指针会指向后面子数组的第一个元素,此时两个指针相邻,而第二个指针指向的正好是最小元素。这就是循环结束的条件。
解析
转载请注明原文地址:https://kaotiyun.com/show/O8Ri777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列选项中,()不属于日本在东北推行的殖民统治。
二战期间,下列四次战役的时间先后顺序是()①莫斯科战役②诺曼底登陆③不列颠之战④阿拉曼战役
请根据下面材料,结合相关知识,分析其内容及意义。他命令所有罗马人都进行登记并用银对自己的财产估价,按照习惯宣誓保证所报各项均属真实,全部财产均已按最高价格估价,并陈报父亲系何人,自己的年龄,自己的妻子和子女的名字,每人的籍贯隶属市中哪个部落或乡间
宋代至清代我国书籍印刷的主要方式是()
西周前期,曾先后向东、南和西三个方向扩张,其中向南扩张主要发生在()
电子计算机的发展经过了四代,①电子数值积分计算机(ENIAC);②集成电路计算机;③大规模集成电路计算机;④晶体管计算机;⑤人工智能计算机,其先后顺序是()。
下图是某模型机CPU的组成框图。设该CPU采用同步控制逻辑,分取指周期、取第一操作数周期,取第二操作数周期、执行周期四个机器周期,每个机器周期有T0、T1、T2三个节拍。试写出如下双操作数运算指令的微操作命令及节拍安排。ADDR0,(R1)完成功
在一个HDLC帧的数据中,如果出现了000111111011这样的流,请问发送到信道上它将会变成()。
若二叉树的前序序列为DABCEFG,中序序列为BACDFGE,则其层次序列为()。
设结点x和y是二叉树中任意的两个结点,在该二叉树的先序遍历序列中x在y之前,而在其后序遍历序列中x在y之后,则x和y的关系是()。
随机试题
我国心理学家对学习的分类是______、技能学习和行为规范的学习。
患儿男2岁,自生后即发现心脏杂音、消瘦,经常患肺炎,每年约2次~3次。查体:胸骨左缘3肋间~4肋间Ⅳ级粗糙收缩期杂音,P2亢进,心电图左室及右室均肥大,心率132次/min,两肺(-),肝肋下1.5cm,×线心脏肺血多,心尖向左下延伸,肺动脉段膨隆术前
患者女,32岁,幼年曾患麻疹,反复咳嗽、咳痰10年,多于晨起及夜间睡眠时咳大量黄痰,此次受凉后咳嗽加重,咳痰增多,为黄绿色痰,伴发热,间断咯血2次,每次量约30ml。查体:T38.2℃,P100次/分,双肺呼吸音粗,双下肺可闻及粗湿啰音。血常规:WB
财务费用年末结转后无余额。()
在实行现场管制时,人民警察可以采取必要手段强行驱散聚集人群,并将拒不服从的人员()。
计划具有的意义有()。
五台山:普陀山
Amajorreasonforconflictintheanimalworldisterritory.Themaleanimal【C1】______anarea.Thesizeoftheareaissufficie
NetWare文件系统所有的目录与文件都建立在【 】硬盘上。
Supposeyouwanttobuyahouse.Itisimportanttolook(11)beforeyoubuyahouse.First,decidehowmanyroomsyouwant
最新回复
(
0
)