首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
将一个数组最开始的若干个元素搬到数组的末尾,称之为数组的旋转。输入一个已排好序数组的一个旋转,求该旋转数组的最小元素。如,数组{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
24
问题
将一个数组最开始的若干个元素搬到数组的末尾,称之为数组的旋转。输入一个已排好序数组的一个旋转,求该旋转数组的最小元素。如,数组{3,4,5,1,2}为有序数组{1,2,3,4,5}的一个旋转数组,该数组的最小值为1。
给出算法的基本设计思想。
选项
答案
算法的基本设计思想: 注意到旋转之后的数组实际上可以划分成两个排序的子数组,且前面的子数组的元素都大于或等于后面子数组的元素,而最小的元素刚好是这两个子数组的分界线。 我们试着用二元查找的思路寻找这个最小的元素: 定义两个指针,分别指向数组的第一个元素和最后一个元素。按照题目旋转的规则,第一个元素应该是大于或等于最后一个元素的。再定义一个指针指向中间的元素,如果该中间元素位于前面的递增子数组,那么它应大于或等于第一个指针指向的元素,此时最小的元素位于右子数组,然后把第一指针指向该中间元素,这样可以在缩小的范围内继续寻找。同样,如果该中间元素位于后面的递增子数组,思路和上面是类似的。 . 按照上述思路,第一个指针总是指向前面递增数组的元素,而第二个指针总是指向后面递增数组的元素。最后,第一个指针将指向前面子数组的最后一个元素,而第二个指针会指向后面子数组的第一个元素,此时两个指针相邻,而第二个指针指向的正好是最小元素。这就是循环结束的条件。
解析
转载请注明原文地址:https://jikaoti.com/ti/YAfjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
下列对春秋时期各国称霸的顺序描述错误的选项是()
下列不属于战时共产主义政策内容的是()。
近代中国各派军阀的共同点有()①始终打着维护共和制度的旗号②利用中央政权排斥异己③都试图夺取中央政权④以帝国主义列强为靠山
关于中世纪西欧城市发展状况,叙述正确的是()。①城市取得自由或自治,一般以赎买为手段。②城市的自由和自治,一般以封建主或国王颁发的特许证书为凭据。③有的城市集体为封君服军役,并履行封臣的其他义务。④城市可视为
明代中叶开始,松江地区“合郡男妇,皆以做袜为生,从店中给筹取值”。对此理解错误的是()。
唐顺宗时,以王叔文、王侄为首的朝臣与宦官之间发生的冲突,称为()。
“瓜步之战”发生在下列哪两个政权之间?()
宗教问题已成为某些国家和地区之间冲突的主要原因。信仰“真主”安拉,以《古兰经》为经典的宗教是()
(1)以太网采用了曼彻斯特编码,一个比特的数据需要两个信号来传输,那么为了达到100Mbps的数据传送速率,需要线路达到200Mbps的带宽。(2)以太网的最小帧长度是64字节,那么发送一个最小帧需要的时间T1=64×8/(100×106),
某汽车轮渡口,过江渡船每次能载10辆车过江。过江车辆分为客车类和汽车类,上渡船有如下规定:同类车先到先上船,客车先于货车上船,且每上4辆客车,才允许上一辆货车,若等待客不足4辆,则以货车代替,若无货车等待允许客车都上船。写一算法模拟渡口管理。
随机试题
患儿男,3岁,以水肿、尿少10天入院。血压150/112mmHg,贫血貌,血WBC6.1×109/L,Hb61g/L,PLT40×109/L,网织红细胞5.5%,尿蛋白(+++),RBC3~4个/HP。BUN20mmol/Lc,最可能的诊断是
主要在小肠黏膜细胞生成的脂蛋白是
恶性卵巢肿瘤与良性卵巢肿瘤相比错误的是
已确认为坏账的应收账款,并不意味着企业放弃了其追索权,一旦重新收回,应及时入账。 ( )
下列情形中,可能导致长期资产增加的是()。
肺部语音震颤减弱见于()。
目前最常用的字符识别技术是_____。
当今世界各国政府的决策体制主要有()。
总线通信同步方式规定了实现总线数据传输的定时规则,总线数据通信方式按照传输时序控制的方式可分为同步和异步两类。下面描述中,不是针对异步通信的是()。
ThelongerIworkedwithMr.Smith,themoreIrealized______incomputertechnology.
最新回复
(
0
)