首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
将一个数组最开始的若干个元素搬到数组的末尾,称之为数组的旋转。输入一个已排好序数组的一个旋转,求该旋转数组的最小元素。如,数组{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
51
问题
将一个数组最开始的若干个元素搬到数组的末尾,称之为数组的旋转。输入一个已排好序数组的一个旋转,求该旋转数组的最小元素。如,数组{3,4,5,1,2}为有序数组{1,2,3,4,5}的一个旋转数组,该数组的最小值为1。
给出算法的基本设计思想。
选项
答案
算法的基本设计思想: 注意到旋转之后的数组实际上可以划分成两个排序的子数组,且前面的子数组的元素都大于或等于后面子数组的元素,而最小的元素刚好是这两个子数组的分界线。 我们试着用二元查找的思路寻找这个最小的元素: 定义两个指针,分别指向数组的第一个元素和最后一个元素。按照题目旋转的规则,第一个元素应该是大于或等于最后一个元素的。再定义一个指针指向中间的元素,如果该中间元素位于前面的递增子数组,那么它应大于或等于第一个指针指向的元素,此时最小的元素位于右子数组,然后把第一指针指向该中间元素,这样可以在缩小的范围内继续寻找。同样,如果该中间元素位于后面的递增子数组,思路和上面是类似的。 . 按照上述思路,第一个指针总是指向前面递增数组的元素,而第二个指针总是指向后面递增数组的元素。最后,第一个指针将指向前面子数组的最后一个元素,而第二个指针会指向后面子数组的第一个元素,此时两个指针相邻,而第二个指针指向的正好是最小元素。这就是循环结束的条件。
解析
转载请注明原文地址:https://www.kaotiyun.com/show/O8Ri777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列关于塞尔维乌斯改革的叙述错误的是()。
氏族公社形成的条件和基本标志是()。
第一次提出“毛泽东思想”这一概念的人是()。
“瓜步之战”发生在下列哪两个政权之间?()
埃及巴达里文化、涅伽达文化工、涅伽达文化Ⅱ三个阶段属于什么时代的文化?()
阅读下列史料,并回答问题:在琶勒尼斯(注:地名)一役获胜后,他(庇西特拉图)便占领政府,并解除人民武装;现在他已能稳定地握住僭主政权,并且取得那克索斯。以吕格达密斯为统治者。他解除人民武装的方法是这样的:他在塞修斯庙举行了一个武装的阅兵式,同时举行一次民
阅读史料回答以下问题:天既哀大地生人之多艰,黑帝乃降精而救民患,为神明,为圣王,为万世作师,为万民作保,为大地教主。生于乱世,乃据乱世而立三世之法,而垂精太平。乃因其所生之国,而立三世之义,而注意于大地远近、大小若一之大一统。乃立元以统天,以天为
鸦片战争前中国同英国相比在政治、经济和军事上存在着哪些差距?到19世纪60年代,外来因素使中国社会出现了哪些变化?变化中进步的主流是什么?
我国古代文献中记载了许多有关部落和部落联盟之间发生大规模战争的传说,如炎帝和黄帝两个部落曾战于(),结果黄帝取得了胜利。
某机的主要部件如下图所示。(1)请补充各部件间的主要连接线,并注明数据流动方向。(2)拟出指令SUB(R1),一(R2)的执行流程(含取指过程与确定后继指令地址)。该指令的含义是进行减法操作,源操作数地址和目的操作数地址分别在
随机试题
Carsarelotsoffun,buttheycouldalsobedangerous.Wehavetobecarefulwhenwedrivethemorrideinthem.It’salway
作HLA-Ⅱ类分子分型时,应用最广,最简便快捷和精确的方法是
工程施工合同中的竣工验收条款一般不包括()。
安全生产监督管理部门对生产经营单位作业场所的监督检查分为行为监察和技术监察,技术监察的内容不包括()。
实行会计电算化的单位,发生存款和付款业务的,按()打印出现金日记账和银行存款日记账,并与库存现金核对无误。
高血压的形成因素主要为()。
Oceanographyhasbeendefinedas"Theapplicationofallsciencestothestudyofthesea".Beforethenineteenthcentury,scien
如何理解“全球化”这一概念的科学内涵?
在Linux中常使用wu-ftpd构建FTP服务器,如果希望使某用户无法访问FTP服务器,应在配置文件(1)_____中进行设置,统计当前登录FTP的人数应该使用(2)____命令,通过运行(3)_____命令可以设置在操作系统启动时自动运
(1)It’sagoldenageforstudyinginequality.ThomasPiketty,aFrencheconomist,setthebenchmarkin2014whenhisbook,"Capi
最新回复
(
0
)